数字图像处理实验5 冈萨雷斯
- 格式:doc
- 大小:975.50 KB
- 文档页数:4
一、 实验目的:实验五 彩色图像处理1、使用 RGB 、Indexed 和 Gray 图像间转换函数2、掌握彩色图像平滑与锐化的算法3、彩色图像的分割二、 实验内容1、使用 RGB 、Indexed 和 Gray 图像间转换函数对图像“Fig0630(01)(strawberries_fullcolor).tif ”使用 rgb2ind 分别产生 8 色抖 动和非抖动图像;使用 rgb2gray 实现图像转换,并使用函数 dither 产生其抖 动形式的图像。
分别显示如下:2、彩色图像平滑与锐化对图像“ F ig0604(a)(iris).tif ” 在 RGB 空 间 实 现 彩色图像的平滑 ( w =ones(25)./(25*25))与锐化(w= [1 1 1 1 1; 1 1 1 1 1; 1 1 -24 1 1 ; 1 1 1 1 1; 1 1 1 1 1];)(函数 imfilter );输出结果分别如下:在 HSI 空间实现彩色图像的平滑(w=ones (25)./(25*25)),(函数 imfilter, rgb2hsi, cat ),观察仅平滑亮度分量(intensity )和平滑全部三个分量结果的差 别。
3、彩色图像分割用 colorseg 函 数 实 现 基 于 肤 色 的 人 脸 分 割 。
对 图 像“'Fig0636(woman_baby_original).tif ”在 HSI 空间,用函数 colorseg 分别用参 数“euclidean ”和“mahalanobis ”实现人脸分割。
结果类似如下:三、显示以上各图f=imread('Fig0630(01)(strawberries_fullcolor).tif');[x1,map1]=rgb2ind(f,8,'nodither');figure,imshow(x1,map1);title('ind nodither');[x2,map1]=rgb2ind(f,8,'dither');figure,imshow(x2,map1);title('ind dither');g=rgb2gray(f);g1=dither(g);figure,imshow(g);title('gray nodither');figure,imshow(g1);title('gray dither');i=imread('Fig0604(a)(iris).tif');figure,imshow(i);w1=ones(25)./(25*25);w2=[1 1 1 1 1;1 1 1 1 1;1 1 -24 1 1;1 1 1 1 1;1 1 1 1 1]; i1=imfilter(i,w1,'replicate');i2=imfilter(i,w2,'replicate');figure,imshow(i1);title('rgb平滑');figure,imshow(i2)title('rgbr锐化');h=rgb2hsi(i);H=h(:,:,1);S=h(:,:,2);I=h(:,:,3);h1=imfilter(h,w1,'replicate');%平滑全部三个分量I2=imfilter(I,w1,'replicate');%仅平滑亮度分量h2=cat(3,H,S,I2);hi1=hsi2rgb(h1);hi2=hsi2rgb(h2);hi1=min(hi1,1);hi2=min(hi2,1);figure,imshow(hi1);title('平滑全部三个分量')figure,imshow(hi2);title('仅平滑亮度分量')a=imread('Fig0636(woman_baby_original).tif'); mask=roipoly(a);r=immultiply(mask,a(:,:,1));g=immultiply(mask,a(:,:,2));b=immultiply(mask,a(:,:,3));g=cat(3,r,g,b);[M,N,K]=size(g);b=reshape(g,M*N,3);idx=find(mask);b=double(b(idx,1:3));[C,d]=covmatrix(b);aa1=colorseg('euclidean',a,25,d);aa2=colorseg('mahalanobis',a,25,d);figure,imshow(aa1,[]);figure,imshow(aa2,[]);。
《数字图像处理》实验指导书实验一、空域图像处理一、 实验目的1熟悉CCS 集成开发环境的操作和基本功能;2熟悉MATLAB 基本图像操作;3结合实例学习如何在程序中增加图像处理算法;4理解和掌握图像的线性变换和直方图均衡化的原理和应用;5了解平滑处理的算法和用途,学习使用均值滤波、中值滤波和拉普拉斯锐化进行图像增强处理的程序设计方法;6 了解噪声模型及对图像添加噪声的基本方法。
二、 实验原理1 灰度线性变换就是将图像中所有点的灰度按照线性灰度变换函数进行变换。
)],([),(y x f T y x g =⎪⎩⎪⎨⎧<≤+-<≤+-≤≤=255),(]),([),( ]),([),(0 ),(),(y x f b g b y x f b y x f a g a y x f a y x f y x f y x g b a γβαn y m x ,2,1 ,,,2,1==2 直方图均衡化通过点运算将输入图像转换为在每一级上都有相等像素点数的输出图像。
按照图像概率密度函数PDF 的定义:1,...,2,1,0 )(-==L k n n r p k k r 通过转换公式获得:1,...,2,1,0 )()(00-====∑∑==L k n n r p r T s k j k j j j r k k3 均值(中值)滤波是指在图像上,对待处理的像素给定一个模板,该模板包括了其周围的临近像素。
将模板中的全体像素的均值(中值)来代替原来像素值的方法。
4 拉普拉斯算子如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--------111181111 拉普拉斯算子首先将自身与周围的8个像素相减,表示自身与周围像素的差异,再将这个差异加上自身作为新像素的灰度。
三、实验步骤1 启动MA TLAB程序,对图像文件分别进行灰度线性变换、直方图均衡化、均值滤波、中值滤波和拉普拉斯锐化操作;添加噪声,重复上述过程观察处理结果。
2 记录和整理实验报告四、实验仪器1计算机;2 MA TLAB程序;3记录用的笔、纸。
第二章(第二版是和*的矩形,第三版是和圆形)对应点的视网膜图像的直径x 可通过如下图题所示的相似三角形几何关系得到,即()()01702302.x .d =解得x=。
根据 节内容,我们知道:如果把中央凹处想象为一个有337000 个成像单元的圆形传感器阵列,它转换成一个大小25327.⨯π成像单元的阵列。
假设成像单元之间的间距相等,这表明在总长为1.5 mm (直径) 的一条线上有655个成像单元和654个成像单元间隔。
则每个成像单元和成像单元间隔的大小为s=[(1.5 mm)/1309]=×10-6 m 。
如果在中央凹处的成像点的大小是小于一个可分辨的成像单元,在我们可以认为改点对于眼睛来说不可见。
换句话说, 眼睛不能检测到以下直径的点:m .d .x 61011060-⨯<=,即m .d 610318-⨯<当我们在白天进入一家黑暗剧场时,在能看清并找到空座时要用一段时间适应。
节描述的视觉过程在这种情况下起什么作用?亮度适应。
虽然图中未显示,但交流电的却是电磁波谱的一部分。
美国的商用交流电频率是77HZ 。
问这一波谱分量的波长是多少?光速c=300000km/s ,频率为77Hz 。
因此λ=c/v= * 108(m/s)/77(1/s) = *106m = 3894 Km.根据图得:设摄像机能看到物体的长度为x (mm),则有:500/x=35/14; 解得:x=200,所以相机的分辨率为:2048/200=10;所以能解析的线对为:10/2=5线对/mm. 假设中心在(x0,y0)的平坦区域被一个强度分布为:])0()0[(22),(y y x x Ke y x i -+--= 的光源照射。
为简单起见,假设区域的反射是恒定的,并等于,令K=255。
如果图像用k 比特的强度分辨率进行数字化,并且眼睛可检测相邻像素间8种灰度的突变,那么k 取什么值将导致可见的伪轮廓? 解:题中的图像是由:()()()()()[]()()[]20202020********y y x x y y x x e .e y ,x r y ,x i y ,x f -+---+--=⨯==一个截面图像见图(a )。
[资料] 《数字图像处理》冈萨雷斯,函数汇总Matlab转载▼(2012-05-07 14:24:20)标签:杂谈图像显示显示彩条colorbar由坐标轴得到图像数据getimageice(DIPUM)交互彩色编辑创建和显示图像对象image缩放数据并显示为图像imagesc由多帧图像制作电影immovie显示图像imshowimview在Image Viewer 中显示图像将多个图像帧显示为矩阵蒙太奇montage播放录制的电影帧movie显示一个彩色RGB立方rgbcube体在单个图形中显示多幅图像subimage调整图像的显示尺寸truesize将图像显示为纹理映射的表面warp图像文件输入/ 输出从一条DICOM消息中读取元数Dicominfo据读一幅DICOM图Dicomread像写一幅DICOM图Dicomwrite像包含DICOM数据字典的文本文Dicom-dict.txt件产生DICOM唯一的识别Dicomuid器返回关于图像的文件的信息Imfinfo读图像文件Imread写图像文件Imwrite图像算术计算两幅图像的绝对差Imabsdiff两幅图像相加或把常数加到图像上Imadd图像求补Imcomplement两幅图像相除,或用常数除图像Imdivide计算图像的线性组合Imlincomb两幅图像相乘或用常数乘图像Immultiply两幅图像相减,或从图像中减去常数Imsubtract几何变换创建棋盘格图像Checkerboard求几何变换的输出范围FindboundsFliptform颠倒TFOR M结构的输入/ 输出修剪图像Imcrop调整图像大小Imresize旋转图像Imrotate对图像应用几何变换Imtransform整数坐标线绘制算法Intline创建重取样器结构Makersampler创建几何变换结构(TFOR M)MaketformPixeldup(DIPUM)在两个方向上复制图像的像素Tformarray对N-D 数组应用几何变换应用正向几何变换Tformfwd应用反向几何变换TforminvVstformfwd (DIPUM)可视化正向几何变换图像匹配将CPSTRUC转T换为有效的控制点Cpstruct2pairs对由控制点对推断几何变换Cp2tform使用互相关校准控制点位置Cpcorr控制点选择工具Cpselect归一化二维互相关Normxcorr2像素值及统计计算二维相关系数Corr2Covmatrix (DIPUM)计算向量族的协方差矩阵创建图像数据的轮廓线Imcontour显示图像数据的直方图Imhist确定像素的彩色点Impixel计算沿着线段的像素值横截面Improfile计算矩阵元素的均值Mean2显示关于像素的信息Pixval测量图像区域的属性RegionpropsStatmoments (DIPUM)计算一幅图像直方图的统计中心距计算矩阵元素的标准偏差Std2图像分析(包括分割、描述和识别)Bayesgauss(DIPUM)高斯模式的贝叶斯分类器Bound2eight(DIPUM)将4连接边界转换为8连接边界Bound2four(DIPUM)将8连接边界转换为4连接边界追踪区域边界Bwboundaries追踪单个边界BwtraceboundaryBound2im(DIPUM)将边界转换为图像Boundaries(DIPUM)追踪区域边界Bsubsamp(DIPUM)对边界二次取样Colorgrad (DIPUM)计算一幅RGB图像的向量梯度Colorseq(DIPUM)分割一幅彩色图像Connectpoly(DIPUM)连接多边形的顶点Diameter(DIPUM)测量图像区域的直径Edge(DIPUM)在一幅亮度图像中寻找边缘Fchcode(DIPUM)计算边界的freeman 链码Frdescp (DIPUM)计算傅里叶描绘子使用Ostu 方法计算图像的全局阈值GraythreshHough(DIPUM)变换HoughHoughlines(DIPUM)基于Hough变换提取线段Houghpeaks(DIPUM)在Hough变换中检测峰值Houghpixels(DIPUM)计算属于Hough 变换bin 的图像像素Ifrdescp (DIPUM)计算逆傅里叶描绘子Imstack2vectors (DIPUM)从图像堆栈提取向量Invmoments (DIPUM)计算图像不变距Mahalanobis(DIPUM)计算Mahalanobis 距离Minperpoly(DIPUM)计算最小周长多边形Polyangles(DIPUM)计算多边形内角Princomp(DIPUM)得到主分量向量和相关量执行四叉树分解Qtdecomp得到四叉树分解中的块值Qtgetblk在四叉树中设置块值QtsetblkRandvertex(DIPUM)随机置换多边形顶点Regiongrow(DIPUM)由区域生长来执行分割Signature (DIPUM)计算边界的标记Specxture (DIPUM)计算图像的谱纹理Splitmerge(DIPUM)使用分离- 合并算法分割图像Statxture (DIPUM)计算图像中纹理的统计度量Strsimilarity(DIPUM)两个串间的相似性度量X2majoraxis(DIPUM)以区域的主轴排列坐标x图像压缩Compare(DIPUM)计算和显示两个矩阵间的误差Entropy (DIPUM)计算矩阵的熵的一阶估计Huff2mat (DIPUM)解码霍夫曼编码矩阵Huffman (DIPUM)为符号源建立一个变长霍夫曼码Im2jpeg(DIPUM)使用JPEG近似压缩一幅图像Im2jpeg2k (DIPUM)使用JPEG2000近似压缩一幅图像Imratio (DIPUM)计算两幅图像或变量中的比特率Jpeg2im(DIPUM)解码IM2JPEG压缩的图像Jpeg2k2im (D IPUM)解码IM2JPEG2K压缩的图像Lpc2mat(DIPUM)解压缩一维有损预测编码矩阵Mat2huff (DIPUM)霍夫曼编码矩阵Mat2lpc(DIPUM)使用一维有损预测编码矩阵Quantize(DIPUM)量化UINT8类矩阵的元素图像增强自适应直方图量化Adapthisteq对多通道图像应用去相关拉伸DecorrstretchGscale(DIPUM)按比例调整输入图像的亮度使用直方图均衡化来增强对比度HisteqIntrans (DIPUM)执行亮度变换调整图像亮度值或彩色映射Imadjust寻找对比度拉伸图像的限制Stretchlim图像噪声给一幅图像添加噪声ImnoiseImnoise2(DIPUM)使用指定的PDF生成一个随机数数组Imnoise3(DIPUM)生成周期噪声线性和非线性空间滤波Adpmedian(DIPUM)执行自适应中值滤波计算二维卷积矩阵Convmtx2Dftcorr (DIPUM)执行频率域相关Dftfilt (DIPUM)执行频率域滤波创建预定义滤波器Fspecial执行二维中值滤波Medfilt2滤波二维和N维图Imfilter像执行二维顺序统计滤波Ordfilter2Spfilt (DIPUM)执行线性和非线性空间滤波执行二维去噪滤波Wiener2线性二维滤波器设计确定二维频率响应间隔Freqspace计算二维频率响应Freqz2Fsamp2使用频率取样设计二维FIR 滤波器使用频率变换设计二维FIR 滤波器Ftrans2使用一维窗法设计二维滤波器Fwind1使用二维窗法设计二维滤波器Fwind2Hpfilter(DIPUM)计算频率域高通滤波器Lpfilter(DIPUM)计算频率域低通滤波器图像去模糊(复原)使用盲去卷积去模糊图像DeconvblindDeconvlucy使用Lucy-Richardson 方法去模糊使用规则化滤波器去模糊Deconvreg使用维纳滤波器去模糊Deconvwnr使用点扩散函数锐化边缘Edgetaper光传递函数到点扩散函数Otf2psf点扩散函数到光传递函数Pst2otf图像变换二维离散余弦变换Dct2离散余弦变换矩阵Dctmtx将扇形束投影变换为并行射束Fan2para计算扇形射束变换Fanbeam二维快速傅里叶变换Fft2维快速傅里叶变换Fftn NFftshift颠倒FFT 输出的象限二维逆离散余弦变换Idct2计算扇形射束逆变换Ifanbeam二维快速傅里叶逆变换Ifft2维快速傅里叶逆变换Ifftn N计算逆Radon变Iradon换将并行射束投影变换为扇形射束Para2fan生成头部仿真模型的图像Phantom计算Radon变Radon换小波Wave2gray(DIPUM)显示小波分解系数Wavebac k(DIPUM)执行多灰度级二维快速小波逆变换Wavecop y(DIPUM)存取小波分解结构的系数Wavecut(DIPUM)在小波分解结构中置零系数Wavefast (DIPUM)执行多灰度级二维快速小波变换Wavefilter (DIPUM)构造小波分解和重构滤波器Wavepaste(DIPUM)在小波分解结构中放置系数Wavewor k(DIPUM)编辑小波分解结构Wavezero(DIPUM)将小波细节系数设置为零领域和块处理为块处理选择块大小Bestblk为图像实现不同的块处理Blkproc将矩阵列重排为块Col2im按列邻域操作Colfilt将图像块重排为列Im2col执行一般的滑动邻域操作Nlfilter形态学操作(亮度和二值图像)默认连通性Conndef执行底帽滤波Imbothat抑制与图像边框相连的亮结构Imclearborder关闭图像Imclose膨胀图像Imdilate腐蚀图像Imerode最大扩展变换Imextendedmax最小扩展变换Imextendedmin填充图像区域和孔洞Imfill最大变换Imhmax H最小变换Imhmin H强制最小Imimposemin打开图像Imopen形态学重构Imreconstruct局部最大区域Imregionalmax局部最小区域Imregionalmin执行顶帽滤波Imtophat分水岭变换Watershed形态学操作(二值图像)使用查表法执行邻域操作Applylut计算二值图像中的对象面积Bwarea打开二值区域(删除小对象)Bwareaopen计算二值图像的距离变换Bwdist计算二值图像的欧拉数Bweuler二值击不中操作Bwhitmiss在二维图像中标记连接分量BwlabelBwlabeln在N 维二值图像中标记连接分量对二值图像执行形态学操作Bwmorph打包二值图像Bwpack确定二值图像中的对象的周长Bwperim选择二值图像中的对象Bwselect最终腐蚀Bwulterode解包二值图像BwunpackEndpoints (DIPUM)计算二值图像的端点Makelut构建applylut 使用的查找表结构元素(STREL)的创建和操作得到的高度Getheight strel得到邻域的偏移位置和高度Getneighbors strelGetnhood得到strel 邻域得到分解的strel 序列Getsequence对平坦的strel 返回值Isflat以其中心反射Reflect strel创建形态学结构元素StrelTranslate变换strel基于区域的处理Histroi(DIPUM)计算图像中的ROI 的直方图Poly2mask将ROI 多边形转换为掩膜基于颜色选择Roicolor ROI在任意区域内平稳地内插RoifillRoifilt2对ROI 进行滤波选择多边形Roipoly ROI彩色映射处理加亮或加暗彩色映射Brighten在彩色映射中重排颜色Cmpermute寻找唯一的彩色映射颜色和相应的图像Cmunique设置或得到彩色查找表Colormap以很少的颜色近似被索引的图像Imapprox绘制RGB彩色映射分Rgbplot量彩色空间转换应用独立于设备的彩色空间变换Applyform将HSV值转换为RGB彩色空Hsv2rgb间Iccread读ICC 彩色配置文件将L*a*b* 彩色值转换为double 类Lab2double将L*a*b* 彩色值转换为uint16 类Lab2uint16将L*a*b* 彩色值转换为uint8 类Lab2uint8创建独立于设备的彩色空间变换结构Makecform将NTSC值转换为RGB彩色空Ntsc2rgb间将RGB值转换为HSV彩色空Rgb2hsv间将RGB值转换为NTSC彩色空Rgb2ntsc间将RGB值转换为YCBCR彩色空间Rgb2ycbcr将YCBCR值转换为RGB彩色空间Ycbcr2rgbRgb2hsi(DIPUM)将RGB值转换为HSI 彩色空间Hsi2rgb(DIPUM)将HSI 值转换为RGB彩色空间返回标准照明的XYZ值Whitepoint将XYZ彩色值转换为类Xyz2double double将XYZ彩色值转换为类Xyz2uint16 uint16数组操作循环地移位数组CircshiftDftuv (DIPUM)计算网格数组填充数组PadarrayPaddedsize(DIPUM)计算用于FFT 的最小填充尺寸图像类型和类型转换改变一幅图像的类Changeclass使用抖动转换图像Dither将亮度图像转换为索引图像Gray2ind通过阈值处理从亮度图像创建索引图像Grayslice通过阈值处理将图像转换为二值图像Im2bw将图像数组转换为双精度Im2double将图像转换为Java 图像Im2java将图像转换为Java 缓存的图像对象Im2java2d将图像数组转换为8比特无符号整数Im2uint8将图像数组转换为16比特无符号整Im2uint16数将索引图像转换为亮度图像Ind2gray将索引图像转换为RGB图Ind2rgb像将标记矩阵转换为RGB图Label2rgb像将矩阵转换为亮度图像Mat2gray将RGB图像或彩色映射转换为灰度图Rgb2gray像将RGB图像转换为索引图Rgb2ind像其他函数Conwaylaws(DIPUM)对单个像素应用Conway的遗传定律Manualhist(DIPUM)交互地生成2模式直方图Twomodegaus s(DIPUM)生成一个2模式高斯函数基于查找表计算新数组值Uintlut工具箱参数获得图像处理工具箱参数的值Iptgetpref设置图像处理工具箱参数的值Iptsetpref。
第二章2.1(第二版是0.2和1.5*1.5的矩形,第三版是0.3和1.5圆形)对应点的视网膜图像的直径x 可通过如下图题2.1所示的相似三角形几何关系得到,即()()01702302.x .d = 解得x=0.06d 。
根据2.1 节内容,我们知道:如果把中央凹处想象为一个有337000 个成像单元的圆形传感器阵列,它转换成一个大小25327.⨯π成像单元的阵列。
假设成像单元之间的间距相等,这表明在总长为1.5 mm (直径) 的一条线上有655个成像单元和654个成像单元间隔。
则每个成像单元和成像单元间隔的大小为s=[(1.5 mm)/1309]=1.1×10-6 m 。
如果在中央凹处的成像点的大小是小于一个可分辨的成像单元,在我们可以认为改点对于眼睛来说不可见。
换句话说, 眼睛不能检测到以下直径的点:m .d .x 61011060-⨯<=,即m .d 610318-⨯<2.2 当我们在白天进入一家黑暗剧场时,在能看清并找到空座时要用一段时间适应。
2.1节描述的视觉过程在这种情况下起什么作用?亮度适应。
2.3 虽然图2.10中未显示,但交流电的却是电磁波谱的一部分。
美国的商用交流电频率是77HZ 。
问这一波谱分量的波长是多少?光速c=300000km/s ,频率为77Hz 。
因此λ=c/v=2.998 * 108(m/s)/77(1/s) = 3.894*106m = 3894 Km. 2.5根据图2.3得:设摄像机能看到物体的长度为x (mm),则有:500/x=35/14; 解得:x=200,所以相机的分辨率为:2048/200=10;所以能解析的线对为:10/2=5线对/mm.2.7 假设中心在(x0,y0)的平坦区域被一个强度分布为: ])0()0[(22),(y y x x Key x i -+--= 的光源照射。
为简单起见,假设区域的反射是恒定的,并等于1.0,令K=255。
1. 课程设计目的1、提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。
2、熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。
2.课程设计内容及实现2.1、网页安全色(Web-Safe Colors)为了完成这项工作,必须找到一个合适的程序,这个程序可以把指定的JPG图像生成RGB元素的图像。
例如,MATLAB的图像处理工具箱可以实现这一点,但你也可以使用图像编辑程序像Adobe的Photo-Shop或Corel的Photo-Paint。
为了实现把图像转换为RGB 这一目标,也可以手动修改。
(a)编写计算机程序,把任意的RGB彩色图像转换到Web安全的RGB图像(Web安全颜色定义见图6.10)。
(b)下载图像图6.8,转换为网络安全色的RGB彩色图像。
图6.8是JPG格式,所以结果返回也为JPG(请看本项目的开始注释)。
解释你的结果和图6.8之间的差异。
2.1.1程序清单:I=imread('Fig6.08.jpg');subplot(121);imshow(I);title('原图');I1=fix((I/51)*51);subplot(122);imshow(I1);title('web-safe colors');2.1.2运行结果如图1图1 网页安全色结果分析:结果图出现明显的方格,每个方格就是一个网页安全色,方格内的颜色一致。
原图则是普通的RGB,假使在原图的相同区域划分出和结果图相对应的方格,则此方格里的颜色是一个渐变的颜色,并非同一种颜色。
2.2、伪彩色图像处理(Pseudo-Color Image Processing )(a)实现图6.23的特性,你可以为输入图像指定两个范围的灰度值,然后你的程序将输出的RGB图像,它的像素有一个指定的颜色,对应于输入图像的一个范围的灰度级,RGB 图像中剩余的像素具有和输入图像相同的灰度。
一、 实验目的:
实验五 彩色图像处理
1、使用 RGB 、Indexed 和 Gray 图像间转换函数
2、掌握彩色图像平滑与锐化的算法
3、彩色图像的分割
二、 实验内容
1、使用 RGB 、Indexed 和 Gray 图像间转换函数
对图像“Fig0630(01)(strawberries_fullcolor).tif ”使用 rgb2ind 分别产生 8 色抖 动和非抖动图像;使用 rgb2gray 实现图像转换,并使用函数 dither 产生其抖 动形式的图像。
分别显示如下:
2、彩色图像平滑与锐化
对图像“ F ig0604(a)(iris).tif ” 在 RGB 空 间 实 现 彩色图像的平滑 ( w =ones
(25)./(25*25))与锐化(w= [1 1 1 1 1; 1 1 1 1 1; 1 1 -24 1 1 ; 1 1 1 1 1; 1 1 1 1 1];)(函数 imfilter );输出结果分别如下:
在 HSI 空间实现彩色图像的平滑(w=ones (25)./(25*25)),(函数 imfilter, rgb2hsi, cat ),观察仅平滑亮度分量(intensity )和平滑全部三个分量结果的差 别。
3、彩色图像分割
用 colorseg 函 数 实 现 基 于 肤 色 的 人 脸 分 割 。
对 图 像
“'Fig0636(woman_baby_original).tif ”在 HSI 空间,用函数 colorseg 分别用参 数“euclidean ”和“mahalanobis ”实现人脸分割。
结果类似如下:
三、显示以上各图
f=imread('Fig0630(01)(strawberries_fullcolor).tif');
[x1,map1]=rgb2ind(f,8,'nodither');
figure,imshow(x1,map1);
title('ind nodither');
[x2,map1]=rgb2ind(f,8,'dither');
figure,imshow(x2,map1);
title('ind dither');
g=rgb2gray(f);
g1=dither(g);
figure,imshow(g);
title('gray nodither');
figure,imshow(g1);
title('gray dither');
i=imread('Fig0604(a)(iris).tif');
figure,imshow(i);
w1=ones(25)./(25*25);
w2=[1 1 1 1 1;1 1 1 1 1;1 1 -24 1 1;1 1 1 1 1;1 1 1 1 1]; i1=imfilter(i,w1,'replicate');
i2=imfilter(i,w2,'replicate');
figure,imshow(i1);
title('rgb平滑');
figure,imshow(i2)
title('rgbr锐化');
h=rgb2hsi(i);
H=h(:,:,1);
S=h(:,:,2);
I=h(:,:,3);
h1=imfilter(h,w1,'replicate');%平滑全部三个分量
I2=imfilter(I,w1,'replicate');%仅平滑亮度分量
h2=cat(3,H,S,I2);
hi1=hsi2rgb(h1);
hi2=hsi2rgb(h2);
hi1=min(hi1,1);
hi2=min(hi2,1);
figure,imshow(hi1);
title('平滑全部三个分量')
figure,imshow(hi2);
title('仅平滑亮度分量')
a=imread('Fig0636(woman_baby_original).tif'); mask=roipoly(a);
r=immultiply(mask,a(:,:,1));
g=immultiply(mask,a(:,:,2));
b=immultiply(mask,a(:,:,3));
g=cat(3,r,g,b);
[M,N,K]=size(g);
b=reshape(g,M*N,3);
idx=find(mask);
b=double(b(idx,1:3));
[C,d]=covmatrix(b);
aa1=colorseg('euclidean',a,25,d);
aa2=colorseg('mahalanobis',a,25,d);
figure,imshow(aa1,[]);
figure,imshow(aa2,[]);。