资源描述:
《matlab图像运算》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Author:http://www.5dw.org青州seo第十五讲图像运算(二)【目录】一、领域操作11、概述12、滑动领域操作13、分离领域操作4二、区域操作71、区域选择72、区域操作9三、图像统计121、象素选择122、强度描述图123、图像轮廓图144、图像柱状图15【正文】一、领域操作1、概述邻域运算-输出G的像素值取决于输入F的像素值及其某个邻域内的像素值。领域大小-邻域是一个远小于图像尺寸、形状规则的像素块,例2×2、3×3的正方形,或用来近似表示圆及椭圆等形状的多边形。一幅图像所定义的所有邻域应大小相同。邻域类型-滑动邻域操作、分离邻域操作。2、滑动领
2、域操作(1)方式Author:http://www.5dw.org寿光seoAuthor:http://www.5dw.org青州seo该操作一次处理一个像素,输出图像的每一个像素都是通过对输入图像某邻域内的像素值采用某种代数运算得到的。右图说明了一个6×5矩阵中3个元素的2×3滑动邻域,每一个邻域的中心像素都用一个黑点标出。(2)中心像素是输入图像真正要进行处理的像素。如果邻域含有奇数行和列,那么中心像素就是邻域的真实中心;如果行或列有一维为偶数,那么中心像素将位于中心偏左或偏上方。表示为:floor(([m,n]+1)/2)例如,在一个2×2的邻域中,中心像素就是左
3、上方的像素,而右上图所示的2×3邻域的中心像素为(1,2),即位于邻域中第二列、第一行的像素。(3)实现步骤*选择原图一个像素*确定该像素的邻域*用一个函数对邻域内的像素求值并返回标量结果*在输出图像对应的位置填入计算值*重复计算,遍及所有象素(4)nlfilter滑动领域操作函数【格式】B=nlfilter(A,[mn],fun)【说明】A为输入图像,B为输出图像,领域尺寸为m×n,fun为运算函数【其它】mean-求向量的平均值,mean2-求矩阵的平均值std-求向量的的标准差,std2-求矩阵的标准差。median-求向量的中值max-求向量的最大值min-求向
4、量的最小值var-求向量的方差可以用inline自定义函数。【例】用函数mean作滑动处理CLFI=imread('tire.tif');I2=nlfilter(I,[55],'mean2');subplot(121),imshow(I,[]);subplot(122),imshow(I2,[]);Author:http://www.5dw.org寿光seoAuthor:http://www.5dw.org青州seo【例】用自定义函数作滑动处理CLFI=imread('tire.tif');f=inline('max(x(:))');I2=nlfilter(I,[33]
5、,f);subplot(1,2,1),imshow(I);subplot(1,2,2),imshow(I2);(5)colfilt快速领域操作函数【格式】B=colfilt(A,[mn],'sliding',fun)【说明】多一个参数'sliding',指定该函数作滑动领域操作。这种操作称为列处理,加快操作速度。【例】快速滑动领域操作Author:http://www.5dw.org寿光seoAuthor:http://www.5dw.org青州seoCLFI=imread('tire.tif');I2=colfilt(I,[55],'sliding','mean');
6、subplot(121),imshow(I,[]);subplot(122),imshow(I2,[]);(6)im2col、col2im列操作函数【格式】B=im2col(A,[mn],'sliding')-图像排成列B=col2im(A,[mn],[mm,nn],'sliding')-列重构图像【例】用列操作函数实现滑动CLFI=imread('ic.tif');I1=im2col(I,[33],'sliding');I1=uint8([0-10-14-10-10]*double(I1));I2=col2im(I1,[3,3],size(I),'sliding');
7、subplot(121),imshow(I,[]);subplot(122),imshow(I2,[]);3、分离领域操作(1)方式Author:http://www.5dw.org寿光seoAuthor:http://www.5dw.org青州seo分离邻域操作也称图像的块操作。将矩阵划分为m×n后得到矩形。分离邻域从左上角开始覆盖整个矩阵,邻域之间没有重叠部分。如果分割的邻域不能很好地适应图像的大小,那么需要为图像进行零填充。右图说明了一个被划分为9个4×8邻域的11×22矩阵,零填充过程将数值0添加到图像矩阵所需的底部和右边,此时图