




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章 图像基本运算1.算术运算2.几何运算3.逻辑运算4.邻域处理6.1 图象算术运算n加法运算n减法运算n乘法运算n除法运算主要应用:主要应用: (1) 对同一场景的多幅图像求平均值,降低加性噪声; (2) 一幅图像叠加到另一幅图像上去,达到二次暴光(Double-exposure)的效果。12( ,),g x yfx yfx y加法运算加法运算的定义 原理:原理:对于图像对于图像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
2、,y),均值为均值为0,方差为,方差为 ,且,且n(x,y)中的不同位置中的不同位置(x,y)处处的噪声分布互不相关。则的噪声分布互不相关。则M个图像的均值为:个图像的均值为:2n多幅图像求平均值,降低加性噪声多幅图像求平均值,降低加性噪声。11( ,)( ,)Miig x ygx yMM=1M=2M=4M=16多幅图像求平均值举例生成图像叠加效果生成图像叠加效果。对于两个图像对于两个图像f1(x,y)和和f2(x,y),二者均值有:,二者均值有:yxfyxfyxg,21,21),(21则可以得到二次曝光的效果。则可以得到二次曝光的效果。加运算生成图像叠加效果举例简单图像融合推广公式为:12(
3、 , ),1g x yfx yfx y且满足: 可以得到各种图像合成的效果,也可以用于两张图片的衔接。加运算生成图像叠加效果举例n什么叫图像融合? 图像融合就是充分利用多幅图像信息,图像融合就是充分利用多幅图像信息,通过对观测信息的合理支配和使用,把多通过对观测信息的合理支配和使用,把多幅图像在空间或时间上的互补信息,依据幅图像在空间或时间上的互补信息,依据某种准则进行综合处理。获得对场景的一某种准则进行综合处理。获得对场景的一致性解释或描述,致性解释或描述,使融合后的图像比参加使融合后的图像比参加融合的任意一幅图像更优越、更精确地反融合的任意一幅图像更优越、更精确地反映客观实际映客观实际。图
4、像融合(Image fusion) 图像融合一般规则图像融合效果展示图像融合效果展示图像融合效果展示图像融合效果展示 在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.ti
5、f);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) (1) 去除一幅图像中不需要的加性图案,如缓慢变化的去除一幅图像中不需要的加性图案,如缓慢变化的背景阴影,周期性噪声等;背景阴影,周期性噪声等; (2) (2) 检测同一场景的两幅图像之间的变化;检测同一场景的两幅图像
6、之间的变化; (3) (3) 运动检测。运动检测。yxfyxfyxg,),(21 图像相减即在两幅图像之间对应像素做减法运算。减法运算原始图像原始图像背景图像背景图像差图像差图像图像相减消除背景图像相减图像相减检测同一场景两幅图像之间的变化检测同一场景两幅图像之间的变化n设: 时间1的图像为f1(x,y), 时间2的图像为f2(x,y) g(x,y) = f2 (x,y) - f1(x,y)= =- -左上左上: 某序列图像的第某序列图像的第100帧帧;下下:某序列图像的第某序列图像的第300帧帧;右上右上: 两幅图像相减并取绝两幅图像相减并取绝对值显示的结果对值显示的结果图像相减运动检测在M
7、ATLAB中,图像的减法运算用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);titl
8、e(输出背景);subplot(133);imshow(ap,);title(减法运算结果);12( , ),g x yfx yfx y 图像相乘即在两幅图像之间对应像素做乘法运算。乘法运算图像相乘局部显示在MATLAB中,图像乘运算的函数是immultiply,其调用方法如下:Z=immultiply(X,Y)例 图像乘法运算。I = imread(rice.png); %读取图像I16 = uint16(I);%转换图像数据类型J = immultiply(I16,I16);%同一幅图像相乘L = immultiply(I,0.5);%图像乘以一个常数figure;%依次显示四幅图像sub
9、plot(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中,图像除运算的函数是indiv
10、ide,其调用方法如下: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 图像逻辑运算n求反n异或n或n与n求反的定义g(x,y) = 255 - f(x,y)n主要应用举例n获得一个阴图象n获得一个子图像的补图像n绘制区别于背景的、可
11、恢复的图形n获得一个阴图象n获得一个子图像的补图像255-= =n绘制区别于背景的、可恢复的图形原图原图求反画图求反画图求反恢复原图求反恢复原图n异或运算的定义g(x,y) = f(x,y) h(x,y)n主要应用举例n获得相交子图象n绘制区别于背景的、可恢复的图形n获得相交子图象 = =n绘制区别于背景的、可恢复的图形原图原图异或画图异或画图异或恢复原图异或恢复原图n或运算的定义 g(x,y) = f(x,y) v h(x,y)n主要应用举例n合并子图像 = =n与运算的定义n g(x,y) = f(x,y) h(x,y)n主要应用举例n求两个子图像的相交子图 = =按位进行逻辑运算STNO
12、T(S)S AND TS OR TS XOR T黑黑11111111白白00000000STNOT(S)S AND TS OR TS XOR TI = 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(
13、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.图像的位置变换一、图像的平移yyyxxx2, 1yx注意:平移后的景物与原图像相同,但“画布”一定是扩大了。否则就会丢失信
14、息。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注意:做镜像时,实际上需要对坐标先进行平移,否则将出错。因为矩阵的下标不能为负
15、。)(垂直镜像yyxx水平镜像垂直镜像水平镜像 设: a(x,y) = -x; b(x,y) = y; 用齐次矩阵表示:( ,)100( ,)01010011a x yxb x yy0,0 xy垂直镜像 设: a(x,y) = x; b(x,y) = -y; 用齐次矩阵表示:( , )100( , )01010011a x yxb x yy0,0 xy垂直镜像垂直镜像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
16、(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);三、图像的旋转 绕原点旋转 度
17、 设: a(x,y) = x * cos( ) - y * sin( ); b(x,y) = x * sin( ) + y * cos( ); 用齐次矩阵表示:00( , )cos0( , )sin110011a x yxxb x yyy0,0 xy几何变换几何变换旋转旋转几何变换几何变换旋转旋转6.3.2.图像的形状变换一、图像的缩小 图像的缩小一般分为按比例缩小和不按比例缩小两种。图像缩小之后,因为承载的信息量小了,所以画布可相应缩小。1. 图像按比例缩小: 最简单的是减小一半,这样只需取原图的偶(奇)数行和偶(奇)数列构成新的图像。图像的减半缩小效果返回 如果图像按任意比例缩小,则需要计
18、算选择的行列。 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/k1 c2=1/k2 二、图像的放大 图像的缩小操作中
19、,是在现有的信息里如何挑选 所需要的有用信息。 图像的放大操作中,则需对尺寸放大后所多出来的空格填入适当的值,这是信息的估计问题,所以较图像的缩小要难一些。 如果放大倍数太大,按照前面的方法处理会出现马赛克效应。图像大比例放大时的马赛克效应放大10倍返回 1.按比例放大图像 如果需要将原图像放大k倍,则将一个像素值添在新图像的k*k的子块中。放大5倍图像的成倍放大效果返回2. 图像的任意不成比例放大: 这种操作由于x方向和y方向的放大倍数不同,一定带来图像的几何畸变。 放大的方法是: 将原图像的一个像素添到新图像的一个 k1*k2的子块中去。图像的不按比例放大返回三、图像的错切变换 图像的错切
20、变换实际上是景物在平面上的非垂直投影效果。)(方向的错切xyyydxxx)(方向的错切yxdyyxxy图像的错切效果返回1xd1yd可以看到,错切之后原图像的像素排列方向改变。与前面旋转不同的是,x方向与y方向独立变化。四、几何畸变的矫正 受到错切变换效果的启发,将其进行简单的延伸,当景物在图像上是非垂直投影时,可以通过几何变换将其进行矫正。 矫正方法为:222111cybxaycybxax变换参数可通过对应点的坐标来确定。6.4 邻域处理滑动邻域处理 输入图像将以像素为单位进行处理,对于输入图形的每一个像素,指定的操作将决定输出图像相应的像素值。分离邻域处理 输入图像一次处理一个邻域,即图像
21、被划分为矩阵邻域,分离邻域操作将分别对每一个邻域进行操作,求取相应输出邻域的像素值。滑动邻域处理 滑动邻域是一组像素,操作对象为邻域中心的像素。对于mn的滑块邻域,其中心像素的位置为:floor(m,n+1)/2)例 m=2,n=3 floor(2,3+1)/2)=floor(3,4/2)=1,2目的:对图像进行平滑、去噪等相关的像素操作;滑动邻域操作的步骤:1)选择像素;2)确定滑动邻域的大小;3)根据需要,选择函数对邻域内像素操作;4)计算结果作为输出图像的该点像素值;5)按1-4遍历原图像中的所有像素;1nlfilter函数在MATLAB中,函数nlfilter是基本邻域处理函数,其调用的方式如下:B=nlfilter(A,m,n,fun)其中A是要处理的图像,m,n规定了邻域块的大小,fun是指定的函数。邻域操作函数A = imread(cameraman.tif);fun = (x) median(x(:);B = nlfilter(A,3 3,fun);subplot(1,2,1);imshow(A), title(原始图像);subplot(1,2,2), imshow(B);title(邻域操作效果);2colfilt函数在MATLAB中,进行快速的邻域操作的函数是colfilt,为每一个像素建立一个列向量,向量元素对应于该像素邻域的元素,其调用方式如下B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国海上光伏行业市场前景预测及投资价值评估分析报告
- 安全文明出行课件
- 土地租地合同协议书文库
- 天气创意课件图片
- 非遗项目商业计划书范文
- 文化墙安装合同协议书
- 安装学徒合同协议书模板
- 恋爱合同协议书抖音
- 音乐版权代理相关行业项目成效实现方案
- 天成贵龙文化课件模板
- 城市轨道交通客运组织电子教案(全)完整版课件整套教学课件
- GB∕T 33917-2017 精油 手性毛细管柱气相色谱分析 通用法
- 高压氧治疗操作规程以及护理常规
- 高中人教物理选择性必修二专题05 单双杆模型-学生版
- 新能源汽车的研究论文
- 材料科学基础基础知识点总结
- 数控铣工图纸(60份)(共60页)
- 惠州市出租车驾驶员从业资格区域科目考试题库(含答案)
- 加工设备工时单价表
- 高脂血症药物治疗ppt课件
- 高层建筑等电位联结安装技术分析探讨
评论
0/150
提交评论