版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
./6.3实验步骤<1>对彩色图像的表达和显示************显示彩色立方体*************rgbcube<0,0,10>; %从正面观察彩色立方体rgbcube<10,0,10>;%从侧面观察彩色立方rgbcube<10,10,10>;%从对角线观察彩色立方体%**********索引图像的显示和转换**********f=imread<'D:\Picture\Fig0604<a><iris>.tif'>;figure,imshow<f>;%f是RGB真彩图像%rgb图像转换成8色索引图像,不采用抖动方式[X1,map1]=rgb2ind<f,8,'nodither'>;figure,imshow<X1,map1>;%采用抖动方式转换到8色索引图像[X2,map2]=rgb2ind<f,8,'dither'>;figure,imshow<X2,map2>; %显示效果要好一些g=rgb2gray<f>; %f转换为灰度图像g1=dither<g>;%将灰色图像经过抖动处理,转换打二值图像figure,imshow<g>;%显示灰度图像figure,imshow<g1>;%显示抖动处理后的二值图像程序运行结果:彩色立方体原图不采用抖动方式转换到8色索引图像采用抖动方式转换到8色索引图像灰度图像抖动处理后的二值图像<2>彩色空间转换f=imread<'D:\Picture\Fig0604<a><iris>.tif'>;figure,imshow<f>;%f是RGB真彩图像%转换到NTSC彩色空间ntsc_image=rgb2ntsc<f>; figure,imshow<ntsc_image<:,:,1>>;%显示亮度信息figure,imshow<ntsc_image<:,:,2>>;%显示色差信息figure,imshow<ntsc_image<:,:,3>>;%显示色差信息%转换到HIS彩色空间hsi_image=rgb2hsi<f>;figure,imshow<hsi_image<:,:,1>>;%显示色度信息figure,imshow<hsi_image<:,:,2>>;%显示饱和度信息figure,imshow<hsi_image<:,:,3>>;%显示亮度信息程序运行结果:原图转换到NTSC彩色空间显示亮度信息显示色差信息显示色差信息转换到HIS彩色空间显示色差信息显示饱和度信显示亮度信息<3>彩色变换f=imread<'D:\Picture\Fig0614<a><ChalkOriginal>.tif'>;G=ice<'image',f>;%打开ice窗口对图像进行调整%在窗口中执行以下操作:%a得到图像的补色%b拖动映射曲线,对图像显示效果进行修改%c在颜色通道中选中某一颜色,然后对映射曲线进行修改程序运行结果<1>:全彩色图片ICE窗口它的补色ICE窗口拖动映射曲线,图像的显示效果 ICE窗口选择RedICE窗口f2=imread<'D:\Picture\JLKMagenta.tif'>;figure,imshow<f2>; %在CMYK彩色空间打开图像g2=ice<'image',f2,'space','CMYK'>;%f2的图像色彩偏红,拖动映射曲线,%调整映射参数,使图像的色彩看起来比较正常。程序运行结果<2>原图在CMYK彩色空间打开图像调整映射参数后ICE窗口<4>彩色空间滤波%********************彩色图像平滑**********************fc=imread<'D:\Picture\Fig0604<a><iris>.tif'>;figure,imshow<fc>;h=rgb2hsi<fc>;%转换到HIS彩色空间H=h<:,:,1>;%色度分量S=h<:,:,2>;%饱和度分量I=h<:,:,3>;%亮度分量w=fspecial<'average',25>; %25×25的方形平滑算子I_filtered=imfilter<I,w,'replicate'>;%对亮度分量进行平滑操作H1=cat<3,H,S,I_filtered>;%将H、S、I三个分量重新组合起来f=hsi2rgb<H1>; %转换到RGB彩色空间f=min<f,1>; %f的值控制在[0,1]之间figure,imshow<f>; %彩色图像平滑处理%*******************彩色图像锐化**********************fb=imread<'D:\Picture\Fig0604<a><iris>.tif'>;lapmask=[111;1-81;111];%拉普拉斯算子g=imfilter<fb,lapmask,'replicate'>;%拉普拉斯算子处理figure,imshow<g>;%图像锐化后与原图像相减fen=imsubtract<fb,g>;figure,imshow<fen>;%显示差值图像程序运行结果:原图彩色图像平滑处理 拉普拉斯算子处理 锐化处理<5>彩色图像分割%*****************彩色边缘检测************closeall;clear;clc; f=imread<'iris.tif'>;%f如图6-4所示%直接计算彩色边缘VG,并得到对单独彩色平面的二维梯度求和形成的梯度PPG[VG,A,PPG]=colorgrad<f>;figure,imshow<VG,[]>;%显示彩色梯度图像figure,imshow<A,[]>; %显示彩色梯度对应的角度图像figure,imshow<PPG,[]>;%显示分量梯度图像g=VG-PPG;%计算两种梯度方法得到的梯度之差figure,imshow<g,[]>; %显示差值图像程序运行结果:彩色梯度图像彩色梯度对应的角度图像分量梯度图像两种梯度差值图像%*****************彩色图像分割*************************f=imread<'jupitermoon.tif'>;%f如图6-4所示mask=roipoly<f>; %手工选定图中红色区域%取得选定区域图像的红色分量R=immultiply<mask,f<:,:,1>>;%取得选定区域图像的绿色分量G=immultiply<mask,f<:,:,2>>;%取得选定区域图像的蓝色分量B=immultiply<mask,f<:,:,3>>;g=cat<3,R,G,B>;%取得选定区域的RGB图像figure,imshow<g>; %显示取得选定区域[M,N,K]=size<g>;%选定区域的大小I=reshape<g,M*N,3>; %对g中的像素进行重排,按列序拉成一行idx=find<mask>;%找到mask中的像素在重排后的图像g中位置I=double<I<idx,1:3>>;%转换到double类型[C,m]=covmatrix<I>;%计算协方差矩阵C主对角线上的元素,即方差%>>sd=sqrt<d>%求得这些元素的平方根,即均方差均方差%用欧式距离对图像进行彩色分割,阈值为25E25=colorseg<'euclidean',f,25,m>;E251=f;E251<E25==0>=0figure,imshow<E251,[]>;%用马氏距离对图像进行彩色分割,阈值为25M25=colorseg<'mahalanobis',f,25,m,C>;figure,imshow<M25,[]>;程序运行结果:原图选定区域欧氏距离彩色分割马氏距离彩色分割6.4思考题<1>请将图6-1所示的彩色图像转换到灰度图像,并根据灰度值对此灰度图像进行索引化,手工指定索引表中的RGB值,并把此索引图像显示出来。程序代码如下%思路:把原图想转换为128位索引图closeall;clear;clc;%将f从灰度图像转换为索引图像,x是索引图像;%map是索引矩阵,R,G,B的值都相等f=imread<'D:\Picture\RGB_iris.tif'>;figure,imshow<f>;%f是RGB图像f1=rgb2gray<f>;%将f转换成灰度图像figure,imshow<f1>;[x,map]=gray2ind<f1,128>;%把灰度图像转化成128位的索引图figure,imshow<x>;%将map中的值做下面改变则R,G,B的值不相等,产生彩色map<1,:>=0.5;map<:,1>=0.5;map<2,:>=0.4;map<1,1>=0;figure,imshow<f1,map>;程序运行结果:原RGB图像灰度图像 索引图修改索引表后的图像<2>6.3节的〔4是将图像转换到HIS空间后再对亮度分量进行平滑操作,试直接对原图像的RGB三个分量分别进行平滑操作,并计算两种操作方法的图像差值。程序代码如下:f=imread<'D:\Picture\RGB_iris.tif'>;figure,imshow<f>;%直接对原图像的RGB三个分量分别进行平滑操作H=f<:,:,1>; %色度分量S=f<:,:,2>; %饱和度分量I=f<:,:,3>; %亮度分量w=fspecial<'average',25>; %25×25的方形平滑算子H_filtered=imfilter<H,w,'replicate'>;%对色度分量进行平滑操作S_filtered=imfilter<S,w,'replicate'>;%对饱和度分量进行平滑操作I_filtered=imfilter<I,w,'replicate'>;%对亮度分量进行平滑操作%将H、S、I三个分量重新组合起来Ha=cat<3,H_filtered,S_filtered,I_filtered>;Ha=im2double<Ha>;%转化成double类型figure,imshow<Ha>;%转换到HIS彩色空间h=rgb2hsi<f>; %转换到HIS彩色空间H=h<:,:,1>; %色度分量S=h<:,:,2>; %饱和度分量I=h<:,:,3>; %亮度分量w=fspecial<'average',25>; %25×25的方形平滑算子I_filtered=imfilter<I,w,'replicate'>;%对亮度分量进行平滑操作%将H、S、I三个分量重新组合起来H1=cat<3,H,S,I_filtered>;fb=hsi2rgb<H1>; %转换到RGB彩色空间fb=min<fb,1>; %f的值控制在[0,1]之间figure,imshow<fb>; %彩色图像平滑处理fen=imsubtract<Ha,fb>;%计算两中方式处理后图像的差值figure,imshow<fen>;程序运行结果:原图直接对RGB三分量进行平滑操作转换到HIS空间对亮度进行平滑操作 差值图像试验中的问题和心得体会:本次实验是彩色图像处理。<1>通过这个实验我了解了RGB图像以及索引图像在MATLAB中的存储和询问方式<2>了解RGB空间到其他彩色空间的转
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论