数字图像处理2-真彩色,灰度图像,索引色图像等的相互转化
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
timg 真彩色timg1 灰度图像
timg2 索引色图像(64色)timg3 二值图像(阈值为0.5)
这里从网上找到了timg真彩色图像作为本次作业中进行数字处理的图像。首先在ps中调整了图像模式,并进行了另存为,生成了timg1与timg2,又在MATLAB中将灰度图像转化为了二值图像
timg3,其中阈值为0.5。这一步操作的代码如下:
A = imread('timg1.jpg');
B = im2bw(A, 0.5);
imshow(B)
imwrite(B,'timg3.jpg');
随后我们来对每个图像imread的返回值进行观察。对于timg处理的程序如下:
A = imread('timg.jpg');
disp(A);
whos A
imshow(A)
由于disp显示数据过多,这里不放原始数据了。其具体内容为3个数组,每个数组都是320*200的,分别代表图片中每个像素的rgb值。而whos语句显示出的内容如下:
Bytes Class Name Size
192000 uint8
A 200x320x3
其中200*320*3说明图像像素为200*320而且为rgb格式,有3
个矩阵。192000为图片大小,而其rgb值是用unit8即8位无符号整数存储,0-255的值代表了某一点像素某一颜色分量的强度。
同理,若将上述程序中的timg改为timg1灰度图像,显示出来的矩阵则只有一个,大小仍为200*320但是每个点的数值则代表对应像素的灰度值。whos语句显示出的内容如下:
Name Size
Bytes Class
64000 u int8
A 200x320
由于灰度图像只需要存储灰度而不是rgb3个分量,其大小便没有最后的*3,因此其大小也只为timg的1/3。
对于索引图进行的操作与其他图像不同,由于其本身存储的是索引值,需要导入索引表才能还原原本的图像,因此程序如下:[IM, map] = imread('timg2.png','png');
disp(IM);
IMrgb(:,:,:) = ind2rgb(IM,map);
whos IMrgb
imshow(IMrgb)
这里如果直接imshow原本图像的话会根据灰度图像的方式显示错误的图像,因此采用了一个ind2rgb函数通过之前导入的索引表和索引值矩阵将图像恢复为rgb图像矩阵。这里的whos函数显示出的结果如下:
Bytes Class Name Size
IMrgb 200x320x3 1536000 double
由于是通过索引表恢复了真彩色的图像,经过了MATLAB的数字处
理,其存储方式从unit8变成了double这一MATLAB的默认数
字格式。而因为其现在为rgb格式的图像,矩阵大小就变成了
200*320*3,而由于存储的数字为double格式,一位占8字节,
故总大小为200*320*3*8=1536000。
随后用于之前相同的方式读入二值图像,发现其读入该图像数据为灰
度格式,因此我们直接在将灰度图像转化为二值图像的代码后面添
加如下两个语句以确保其准确性:
disp(B);
whos B
其disp显示的320*200矩阵中每个像素的值或者为1或者为
0,1就是为白色的地方而0就是为黑色的地方。而whos语句显示
出的图像信息如下:
Bytes Class
Name Size
64000 logical B 200x320
这里的其他地方同之前灰度图像的道理一样,此处便不再附加说
明,而这个数字类型logical为MATLAB中的逻辑型,0就是
false而1就是true,每个logical类型数据占1字节,故文
件大小仍为64000字节。
在此之后我们来尝试对于更换索引图像的索引表会对图像产生什么
影响。其基本代码如下:
IM = imread('timg2.png');
disp(IM);
IMrgb(:,:,:) = ind2rgb(IM,xxxx);
imshow(IMrgb)
其中xxxx部分则为代替的索引表。经过网上查找资料,MATLAB 中有如下几种索引表:
(1)autumn:从红色向橘黄色、黄色平稳过渡;
(2)bone:为含有较高的蓝色组分的gray颜色查找表;
(3)colorcube:包含RGB颜色空间中尽可能多的规则间隔的颜色,它试图提供更多的灰色、纯红、纯绿和纯蓝;
(4)cool:由青色和洋红阴影组成的颜色。在青色和洋红间平滑过渡;
(5)copper:在黑色和亮铜色间平滑过渡;
(6)flag:由红、白、蓝、黑组成。每次索引值增加时,该颜色查找表会完全改变颜色;
(7)gray:线性灰阶颜色查找表;
(8)hot:在黑、红、橘红、黄、白间平滑过渡;
(9)hsv:颜色从红色开始,然后为黄、绿、青、蓝、洋红,最后
是红色。特别适合显示周期性函数;
(10)jet:在蓝、青、黄、橘红、红色间过渡;
(11)lines:生成颜色由坐标系对象的colororder属性和灰色阴影确定;
(12)pink:包含品红色的柔和阴影。可以对灰度照片进行棕褐色化;
(13)prism:重复红、橘红、黄、绿、蓝、紫色;
(14)spring:由洋红和黄色阴影组成;
(15)summer:由绿色和黄色阴影组成;
(16)white:白色;
(17)winter:由蓝色和绿色阴影组成。
如下为采用了某一个预设索引表着色的图像。
采用了winter索引表采用了cool索引表
由于本身图像上的颜色不是连续的,而是离散的,在某相邻的像素