您好,欢迎访问三七文档
第六章图像基本运算1.算术运算2.几何运算3.逻辑运算4.邻域处理6.1图象算术运算加法运算减法运算乘法运算除法运算主要应用:(1)对同一场景的多幅图像求平均值,降低加性噪声;(2)一幅图像叠加到另一幅图像上去,达到二次暴光(Double-exposure)的效果。12(,),,gxyfxyfxy加法运算加法运算的定义原理:对于图像f(x,y)和其噪声图像集{gi(x,y)},i=1,2,...K。gi(x,y)=f(x,y)+ni(x,y)其中ni(x,y)是第i帧图像的噪声分布,噪声分布n(x,y),均值为0,方差为,且n(x,y)中的不同位置(x,y)处的噪声分布互不相关。则M个图像的均值为:2n多幅图像求平均值,降低加性噪声。11(,)(,)MiigxygxyMM=1M=2M=4M=16多幅图像求平均值-举例生成图像叠加效果。对于两个图像f1(x,y)和f2(x,y),二者均值有:yxfyxfyxg,21,21),(21则可以得到二次曝光的效果。加运算生成图像叠加效果—举例简单图像融合推广公式为:12(,),,1gxyfxyfxy且满足:可以得到各种图像合成的效果,也可以用于两张图片的衔接。加运算生成图像叠加效果—举例什么叫图像融合?图像融合就是充分利用多幅图像信息,通过对观测信息的合理支配和使用,把多幅图像在空间或时间上的互补信息,依据某种准则进行综合处理。获得对场景的一致性解释或描述,使融合后的图像比参加融合的任意一幅图像更优越、更精确地反映客观实际。图像融合(Imagefusion)(1)对应像素取最大值(2)对应像素取最小值(3)对应像素取平均值(4)加权平均法(5)高级融合技术图像融合——一般规则对应像素取小值融合图像融合效果展示对应像素取平均融合图像融合效果展示对应像素加权平均融合图像融合效果展示小波多尺度分解融合图像融合效果展示在MATLAB图像处理工具箱中,imadd函数实现图像相加运算,其调用格式如下Z=imadd(X,Y)对X和Y数组中对应元素相加,返回值Z和X、Y大小一致,若Y为标量,则对X数组中每个元素相加Y。例图像相加操作I=imread('rice.png');J=imadd(I,50);subplot(1,2,1),imshow(I);title('原始图像');subplot(1,2,2),imshow(J);title('图像与数据相加');K=imread('cameraman.tif');H=imadd(I,K,'uint16');%转换数据类型相加图像数据figure;subplot(1,3,1);imshow(I);title('原始rice图像');subplot(1,3,2);imshow(K);title('原始cameraman图像');subplot(1,3,3);imshow(H,[]);title('两图像进行相加操作效果');主要应用:(1)去除一幅图像中不需要的加性图案,如缓慢变化的背景阴影,周期性噪声等;(2)检测同一场景的两幅图像之间的变化;(3)运动检测。yxfyxfyxg,,),(21图像相减即在两幅图像之间对应像素做减法运算。减法运算原始图像背景图像差图像图像相减—消除背景图像相减—检测同一场景两幅图像之间的变化设:时间1的图像为f1(x,y),时间2的图像为f2(x,y)g(x,y)=f2(x,y)-f1(x,y)=-左上:某序列图像的第100帧;下:某序列图像的第300帧;右上:两幅图像相减并取绝对值显示的结果图像相减—运动检测在MATLAB中,图像的减法运算用imsubtract和imabsdiff函数可以完成,其调用格式为:Z=imsubtract(a,b)%差值结果小于0的赋值为0Z=imabsdiff(a,b)%差值结果取绝对值例图像相减运算clear;a=imread('rice.png');%读取图像subplot(131);imshow(a);title('原始图像');background=imopen(a,strel('disk',15));%在a上进行形态学运算;ap=imsubtract(a,background);%减法运算函数subplot(132);imshow(background);title('输出背景');subplot(133);imshow(ap,[]);title('减法运算结果');12(,),,gxyfxyfxy图像相乘即在两幅图像之间对应像素做乘法运算。乘法运算图像相乘—局部显示在MATLAB中,图像乘运算的函数是immultiply,其调用方法如下:Z=immultiply(X,Y)例图像乘法运算。I=imread('rice.png');%读取图像I16=uint16(I);%转换图像数据类型J=immultiply(I16,I16);%同一幅图像相乘L=immultiply(I,0.5);%图像乘以一个常数figure;%依次显示四幅图像subplot(131);imshow(I);title('原始图像');subplot(132);imshow(J);title('图像自乘');subplot(133);imshow(L);title('图像与数据相乘');主要应用可产生对颜色和多光谱图像分析十分重要的比率图像。yxfyxfyxg,,),(21图像相除即在两幅图像之间对应像素做除法运算。除法运算左上:遥感图像f1(x,y);右上:遥感图像f2(x,y);下:f1与f2之比。图像相除—比率图像在MATLAB中,图像除运算的函数是individe,其调用方法如下:Z=individe(X,Y)a=imread('lena.bmp');background=imopen(a,strel('disk',15));a1=imdivide(a,background);subplot(131);imshow(a);%原始图像subplot(132);imshow(background);%Background结果subplot(133);imshow(a1,[]);%除法运算结果6.2图像逻辑运算求反异或或与求反的定义g(x,y)=255-f(x,y)主要应用举例获得一个阴图象获得一个子图像的补图像绘制区别于背景的、可恢复的图形获得一个阴图象获得一个子图像的补图像255-=绘制区别于背景的、可恢复的图形原图求反画图求反恢复原图异或运算的定义g(x,y)=f(x,y)h(x,y)主要应用举例获得相交子图象绘制区别于背景的、可恢复的图形获得相交子图象=绘制区别于背景的、可恢复的图形原图异或画图异或恢复原图或运算的定义g(x,y)=f(x,y)vh(x,y)主要应用举例合并子图像=与运算的定义g(x,y)=f(x,y)h(x,y)主要应用举例求两个子图像的相交子图=按位进行逻辑运算STNOT(S)SANDTSORTSXORT黑=11111111白=00000000STNOT(S)SANDTSORTSXORTI=imread('cameraman.tif');J=imread('rice.png');I1=im2bw(I);%转化为二值图像J1=im2bw(J);K1=I1&J1;%逻辑与运算K2=I1|J1;%逻辑或运算K3=~I1;%逻辑非运算K4=xor(I1,J1);%异或运算figure(1);%依次显示四幅图像subplot(221);imshow(I);subplot(222);imshow(J);subplot(223);imshow(I1);subplot(224);imshow(J1);figure(2);%依次显示四幅图像subplot(221);imshow(K1);subplot(222);imshow(K2);subplot(223);imshow(K3);subplot(224);imshow(K4);6.3图像的几何变换我们知道,图像是对三维实际景物的平面投影。为了观测需要,常常需要进行各种不同的几何变换。注意一点,实际上几何变换不改变像素值,而是改变像素所在的位置。6.3.1.图像的位置变换一、图像的平移yyyxxx''2,1yx注意:平移后的景物与原图像相同,但“画布”一定是扩大了。否则就会丢失信息。00100110011uxxvyy用齐次矩阵表示:A=imread('lena.jpg');figure;subplot(121);imshow(A);A=double(A);A_move=zeros(size(A));H=size(A);A_x=50;A_y=50;I_movesult(A_x+1:H(1),A_y+1:H(2),1:H(3))=A(1:H(1)-A_x,1:H(2)-A_y,1:H(3));subplot(122);imshow(uint8(I_movesult));二、图像的镜像)(''水平镜像yyxx注意:做镜像时,实际上需要对坐标先进行平移,否则将出错。因为矩阵的下标不能为负。)(''垂直镜像yyxx水平镜像垂直镜像水平镜像设:a(x,y)=-x;b(x,y)=y;用齐次矩阵表示:(,)100(,)01010011axyxbxyy0,0xy垂直镜像设:a(x,y)=x;b(x,y)=-y;用齐次矩阵表示:(,)100(,)01010011axyxbxyy0,0xy垂直镜像I=imread('lena.jpg')subplot(221);imshow(I);I=double(I);h=size(I);I_fliplr(1:h(1),1:h(2),1:h(3))=I(1:h(1),h(2):-1:1,1:h(3));%水平镜像变换I1=uint8(I_fliplr);subplot(222);imshow(I1);I_flipud(1:h(1),1:h(2),1:h(3))=I(h(1):-1:1,1:h(2),1:h(3));%垂直镜像变换I2=uint8(I_flipud);subplot(223);imshow(I2);I_fliplr_flipud(1:h(1),1:h(2),1:h(3))=I(h(1):-1:1,h(2):-1:1,1:h(3));%对角镜像变换I3=uint8(I_fliplr_flipud);subplot(224);imshow(I3);三、图像的旋转绕原点旋转度设:a(x,y)=x*cos()-y*sin();b(x,y)=x*sin()+y*cos();用齐次矩阵表示:00(,)cos0(,)sin110011axyxxbxyyy0,0xy几何变换——旋转几何变换——旋转6.3.2.图像的形状变换一、图像的缩小图像的缩小一般分为按比例缩小和不按比例缩小两种。图像缩小之后,因为承载的信息量小了,所以画布可相应缩小。1.图像按比例缩小:最简单的是减小一半,这样只需取原图的偶(奇)数行和偶(奇)数列构成新的图像。图像的减半缩小效果返回如果图像按任意比例缩小,则需要计算选择的行列。M*N大小的图像缩小为:kM*kN大小,(k1)设旧图像是F(x,y),新图像是I(x,y)则:I(x,y)=F(int(c*x),int(c*y))c=1/kK=1/3图像的按比例缩小效果返回2.图像不按比例缩小:这种操作因为在x方向和y方向的缩小比例不同,一定会带来图像的几何畸变。图像的不按比例任意缩小返回图像不按比例缩小方法:M*N大小的图像缩小为:k1M*k2N大小,(k11,k21)。设旧图像是F(x,y),新图像是I(x,y)则:I(x,y)=F(int(c1*x),int(c2*y))c1=1/k1c2=1/k2二、图像
本文标题:第6章图像基本运算
链接地址:https://www.777doc.com/doc-2111013 .html