1、uint8与double

double函数只是将读入图像的uint8数据转换为double类型,一般不使用;常用的是im2double函数,将

uint8图像转为double类型,范围为0-1,如果是255的图像,那么255转为1,0还是0,中间的做相应改变。

MATLAB中读入图像的数据类型是uint8,而在矩阵中使用的数据类型是double。因此

I2=im2double(I1) :把图像数组I1转换成double精度类型;如果不转换,在对uint8进行加减时会产生

溢出。默认情况下,matlab将图象中的数据存储为double型,即64位浮点数;matlab还支持无符号整型

(uint8和uint16);uint型的优势在于节省空间,涉及运算时要转换成double型。

im2double():将图象数组转换成double精度类型

im2uint8():将图象数组转换成unit8类型

im2uint16():将图象数组转换成unit16类型

2、uint8和im2uint8

在数据类型转换时候uint8和im2uint8的区别,uint8的操作仅仅是将一个double类型的小数点后面的部

分去掉;但是im2uint8是将输入中所有小于0的数设置为0,而将输入中所有大于1的数值设置为255,再将所

有其他值乘以255。

图像数据在计算前需要转换为double,以保证精度;很多矩阵数据也都是double的。要想显示其,必须先

转换为图像的标准数据格式。如果转换前的数据符合图像数据标准(比如如果是double则要位于0~1之间)

,那么可以直接使用im2uint8。如果转换前的数据分布不合规律,则使用uint8,将其自动切割至0~255(

超过255的按255)。最好使用mat2gray,将一个矩阵转化为灰度图像的数据格式(double)

3、double类型图像的显示

图像数据在进行计算前要转化为double类型的,这样可以保证图像数据运算的精度。很多矩阵的很多矩

阵数据也都是double的,要想显示其,必须先转换为图像的标准数据格式。如果直接运行imshow(I),我们会

发现显示的是一个白色的图像。这是因为imshow()显示图像时对double型是认为在0~1范围内,即大于1时都

是显示为白色,而imshow显示uint8型时是0~255范围。而经过运算的范围在0-255之间的double型数据就被

不正常得显示为白色图像了。具体方法有:

imshow(I/256); ----------将图像矩阵转化到0-1之间 imshow(I,[]); ----------自动调整数据的范围以便于显示 (注意这里,必须是灰度图,否

则不行)  imshow(uint8(I));  imshow(mat2gray(I));     上面的mat2gray是将最终获得的矩阵转化为灰度图像。常用的为:  A = im2uint8(mat2gray(result))     这样就将result矩阵转化为uint8类型的图像。

matlab生成的图显示数据类型,matlab中数据类型及图像显示相关推荐

  1. matlab获取视差图,Matlab生成视差图

    [实例简介] 双目视觉,根据块匹配方法的视差图生成.依据Matlab生成视差图. Dbasic= zeros(size(leftI),'single') disparity range 15; Sel ...

  2. 【老生谈算法】MATLAB生成雪花图片源码——生成雪花图片

    MATLAB生成雪花图片源码 1.文档下载: 本算法已经整理成文档如下,有需要的朋友可以点击进行下载 序号 文档(点击下载) 本项目文档 [老生谈算法]MATLAB生成雪花图片源码.doc 2.算法详 ...

  3. matlab生成voronoi图,matlab生成voronoi图

    其他任意形态晶体模型根据用户输入的点数据生成长方体 Voronoi 三维模型.图 6.1 任意形态多晶模型生成界面 -4- 七. 晶体模型生成示例 图(a) 原始模型 图(b)...... 使用Map ...

  4. matlab 画随机数图,怎么用matlab生成100个标准正态分布的随机数并画出直方图

    正态分布是normpdf(x,mu,sigma)mu sigma 默认是 0 1例子ez 由热心网友提供的答案1: %生成一组随机数(正态分布)data=normrnd(0,1,1,500);%绘制直 ...

  5. matlab生成mif图像文件,matlab 生成mif文件导入quartus rom中

    用Quartus II创建并仿真ROM的步骤:1.在Quatus工程下生成一个ROM2.编写.mif文件,作为ROM的初始化文件3.将.mif文件拷贝到Modelsim工程下4.进行Modelsim仿 ...

  6. 修改matlab 生成exe的图标,更改matlab生成exe文件的图标

    更改matlab生成exe文件的图标 明天项目答辩,今天又把程序折腾了一遍,最后生成exe文件,上网搜了一下把图标改成了自己选的图形. 在matlab中文论坛上有高手指出如下的做法: 假设你的图标文件 ...

  7. matlab二维图填充,【Matlab】二维图绘制及填色总结(basic)

    编程渣的艰难探索之Matlab绘图 个人需求:用matlab绘制多条曲线并在指定不规则区域填色. 为什么一定要用Matlab呢?因为我觉得图形便于修改,看起来较为正规,代码量较少. 1 同时绘制多条曲 ...

  8. matlab画三维图和等高线,matlab画三维等高线图

    MATLAB 三维绘图功能二维图形 ? 三维图形 图形色彩处理 句柄图形技术 图像显示技术 动画制作 三维绘图三维绘图的主要功能: 绘制三维线图 绘制等高线图 绘制伪彩色图 ...... 三维线图指令 ...

  9. matlab心形图c语言,MATLAB心形图.doc

    MATLAB心形图 三维图 表达你对他的爱 [X,Y,Z] = meshgrid(linspace(-3,3,101)); F = -X.^2.*Z.^3-(9/80).*Y.^2.*Z.^3+(X. ...

  10. matlab生成三维图软件,Matlab三维图如何绘制?

    在计算机领域,有时候需要应用到三维曲面图,在这种情况下,我们首先要知道三维数据,分别为x,y,z的值,然后在借助Matlab工具来绘制三维曲面图.有了Matlab的帮助,可以很简单的实现三维曲面图的绘 ...

最新文章

  1. 关于Nowpaper
  2. iOS8 Size Classes的理解与使用
  3. hadoop的同类技术_Hadoop 气数已尽:逃离复杂性,拥抱云计算
  4. 利用GPU训练网络时遇到的一些问题
  5. php调用接口接口代码无法执行,php调用c接口无错版介绍
  6. Qt程序单次启动(QSingleApplication类)
  7. Java的Gradle依赖关系,使用编译还是实现?
  8. html表格字体格式转换,【转】常用HTML代码速查表
  9. 漫画:大厂总提SaaS化部署,到底什么是IaaS、PaaS和SaaS?
  10. 抓包测试步骤XMind
  11. 阿里云虚拟主机针对恶意频繁攻击式访问造成CPU爆满的解决方法
  12. c# 数组不能直接=,需要clone
  13. er ubnt x设置教程_ubnt的er-x做交换机应该怎么设置啊?
  14. 【ONNX】使用 C++ 调用 ONNX 格式的 PyTorch 深度学习模型进行预测(Windows, C++, PyTorch, ONNX, Visual Studio, OpenCV)
  15. 关于excel导出日期格式变化问题处理
  16. 外码一定是被参照表的主码吗?
  17. 电流模架构Bandgap设计与仿真
  18. <UDP网络编程>——《计算机网络》
  19. STL 的 std::set 创建自定义结构体的对象,定义严格弱序的比较函数
  20. Android 加密算法

热门文章

  1. 小孩桌面便签隐藏了怎么恢复?
  2. 简单解说思科命令大全
  3. ufs qfil注意事项
  4. ios开发防止App被抓包(可正常请求)
  5. 数字证书、ssl、sasl(GSSAPI,Kerberos)、jaas简单解释
  6. AppCompatDialog背景透明
  7. 线程安全单例模式(C++)
  8. python中文版下载-python3.8.1汉化版
  9. 公众号题库搜题对接(提供免费接口)
  10. VS2015编译OpenDDS