码迷,mamicode.com
首页 > 其他好文 > 详细

matlab 图像的基本操作

时间:2015-03-05 23:28:01      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:

(1)显示:

image()可以直接显示8位数图像,但8位图像和double型数据在image()中意义是不一样的。

二值图可用uint8或double来储存; 

索引图像uint8和double型显示方法没区别。但8位数据矩阵的值和颜色种类之间有一个数值为1的偏差。调用格式  image(x); colormap(map);

对于灰度图像,uint8范围0~255,double范围0~1,二者转换方式: i8 = uint(round(i64*255));   i64 = double(i8)/255 ;

imshow(f,[low,high]) 所有小于low显示黑色,所有大于high显示白色;

imshow(f,G) g表示灰度级数;

imshow(f,[]) 解决uint8范围0~255转换为0~1;

 

 

(2)读取: 

[r宽度,c高度,d]=imread()根据文件图像种类进行不同处理。灰色图像存入8位矩阵中,把色图矩阵转换为双精度矩阵;rgb图像会存入8位的rgb矩阵中。

 matlab读入图像是uint8类型,而在矩阵中使用的是double,所以需要转换。im2double(),im2uint8(),im2uint16();

 

(3)存取:

matlab默认将图片存储double型;也支持uint8或uint16,优势在于节省空间。

mat2gray()把double型数组转换到0~1之间,将矩阵转换成灰度图像得出double格式。

isgray()函数判断矩阵是否为图像数据矩阵。

 

(4)转换:

gray2ind()   ind2gray()   [x,map]=rgb2ind()   ind2rgb(x,map)    rgb2gray()   im2bw(rgb,level)阈值  

 

(5)写入:

imwrite(I,‘snight.jpg‘) 或imwrite(I,‘snight‘,‘jpg‘)

 

matlab 图像的基本操作

标签:

原文地址:http://www.cnblogs.com/h1359705211/p/4316850.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!