第四章-数字图像处理中的基本运算
- 格式:ppt
- 大小:5.93 MB
- 文档页数:123
《数字图像处理》教学大纲
一、课程简介
数字图像处理是机器视觉、模式识别、医学图像处理等的基础,本课程为工程专业的学生提供数字图像处理的基本知识,是理论性和实践性都很强的综合性课程。
课程内容广泛涵盖了数字图像处理的基本原理,包括图像采样和量化、图像算术运算和逻辑运算、直方图、图像色彩空间、图像分割、图像形态学、图像频域处理、图像分割、图像降噪与图像复原、特征提取与识别等。
二、课程目标
通过本课程学习,学生可以掌握数字图像处理的基本方法,具备一定的解决图像处理应用问题的能力,培养解决复杂工程问题的能力。
具体目标如下:
1.掌握数字图像处理的基本原理、计算方法,能够利用专业知识并通过查阅资
料掌握理解相关新技术,对检测系统及处理流程进行创新性设计;
2.能够知晓工程领域中涉及到的数字图像处理技术,理解其适用场合、检测对
象及条件的限制,能根据给定的目标要求,针对工业检测中的工程问题选择和使用合适的技术和编程,进行仿真和分析;
3.能够知晓工程领域中所涉及的现代工具适用原理及方法,根据原理分析和仿
真结果,进行方案比选,确定设计方案,具有检测算法的设计能力;
4.通过校内外资源和现代信息技术,了解数字图像处理发展趋势,提高解决复
杂工程问题的能力。
三、课程目标对毕业要求的支撑关系
四、理论教学内容及要求
四、实验教学内容及要求
五、课程考核与成绩评定
六、教材及参考书。
数字图像处理_图像基本运算图像基本运算1点运算线性点运算是指输⼊图像的灰度级与输出图像呈线性关系。
s=ar+b(r为输⼊灰度值,s为相应点的输出灰度值)。
当a=1,b=0时,新图像与原图像相同;当a=1,b≠0时,新图像是原图像所有像素的灰度值上移或下移,是整个图像在显⽰时更亮或更暗;当a>1时,新图像对⽐度增加;当a<1时,新图像对⽐度降低;当a<0时,暗区域将变亮,亮区域将变暗,点运算完成了图像求补; ⾮线性点运算是指输⼊与输出为⾮线性关系,常见的⾮线性灰度变换为对数变换和幂次变换,对数变换⼀般形式为:s=clog(1+r)其中c为⼀常数,并假设r≥0.此变换使窄带低灰度输⼊图像映射为宽带输出值,相对的是输出灰度的⾼调整。
1 x=imread('D:/picture/DiaoChan.jpg');2 subplot(2,2,1)3 imshow(x);4 title('原图');5 J=0.3*x+50/255;6 subplot(2,2,2);7 imshow(J);8 title('线性点变换');9 subplot(2,2,3);10 x1=im2double(x);11 H=2*log(1+x1);12 imshow(H)13 title('⾮线性点运算');%对数运算幂次变换⼀般形式:s=cr^γ幂级数γ部分值把窄带暗值映射到宽带输出值下⾯是⾮线性点运算的幂运算1 I=imread('D:/picture/DiaoChan.jpg');2 subplot(2,2,1);3 imshow(I);title('原始图像','fontsize',9);4 subplot(2,2,2);5 imshow(imadjust(I,[],[],0.5));title('Gamma=0.5');7 imshow(imadjust(I,[],[],1));title('Gamma=1');8 subplot(2,2,4);9 imshow(imadjust(I,[],[],1.5));title('Gamma=1.5');2代数运算和逻辑运算加法运算去噪处理1 clear all2 i=imread('lenagray.jpg');3 imshow(i)4 j=imnoise(i,'gaussian',0,0.05);5 [m,n]=size(i);6 k=zeros(m,n);7for l=1:1008 j=imnoise(i,'gaussian',0,0.05);9 j1=im2double(j);10 k=k+j1;11 End12 k=k/100;13 subplot(1,3,1),imshow(i),title('原始图像')14 subplot(1,3,2),imshow(j),title('加噪图像')15 subplot(1,3,3),imshow(k),title(‘求平均后的减法运算提取噪声1 I=imread(‘lena.jpg’);2 J=imnoise (I,‘lena.jpg’,0,0.02);3 K=imsubtract(J,I);4 K1=255-K;5 figure;imshow(I);7 figure;imshow(K1);乘法运算改变图像灰度级1 I=imread('D:/picture/SunShangXiang.jpg')2 I=im2double(I);3 J=immultiply(I,1.2);4 K=immultiply(I,2);5 subplot(1,3,1),imshow(I);subplot(1,3,2),imshow(J);6 subplot(1,3,3);imshow(K);逻辑运算1 A=zeros(128);2 A(40:67,60:100)=1;3 figure(1)4 imshow(A);5 B=zeros(128);6 B(50:80,40:70)=1;7 figure(2)8 imshow(2);9 C=and(A,B);%与10 figure(3);11 imshow(3);12 D=or(A,B);%或13 figure(4);14 imshow(4);15 E=not(A);%⾮16 figure(5);17 imshow(E);3⼏何运算平移运算实现图像的平移1 I=imread('lenagray.jpg');2 subplot(1,2,1);3 imshow(I);4 [M,N]=size(I);g=zeros(M,N);5 a=20;b=20;6for i=1:M7for j=1:N8if((i-a>0)&(i-a<M)&(j-b>0)&(j-b<N)) 9 g(i,j)=I(i-a,j-b);10else11 g(i,j)=0;12 end13 end14 end15 subplot(1,2,2);imshow(uint8(g));⽔平镜像变换1 I=imread('lena.jpg');2 subplot(121);imshow(I);3 [M,N]=size(I);g=zeros(M,N);4for i=1:M5for j=1:N6 g(i,j)=I(i,N-j+1);7 end8 end9 subplot(122);imshow(uint8(g));垂直镜像变换1 I=imread('lena.jpg');2 subplot(121);imshow(I);3 [M,N]=size(I);g=zeros(M,N);4for i=1:M5for j=1:N6 g(i,j)=I(M-i+1,j);7 end8 end9 subplot(122);imshow(uint8(g));图像的旋转1 x=imread('D:/picture/DiaoChan.jpg');2 imshow(x);3 j=imrotate(x,45,'bilinear');4 k=imrotate(x,45,'bilinear','crop');5 subplot(1,3,1),imshow(x);6 title(‘原图')7 subplot(1,3,2),imshow(j);8 title(‘旋转图(显⽰全部)')9 subplot(1,3,3),imshow(k);10 title(‘旋转图(截取局部)')⼏种插值法⽐较1 i=imread('lena.jpg');2 j1=imresize(i,10,'nearest');3 j2=imresize(i,10,'bilinear');4 j3=imresize(i,10,'bicubic');5 subplot(1,4,1),imshow(i);title(‘原始图像')6 subplot(1,4,2),imshow(j1);title(‘最近邻法')7 subplot(1,4,3),imshow(j2);title(‘双线性插值法')8 subplot(1,4,4),imshow(j3);title(‘三次内插法')放缩变换1 x=imread('D:/picture/ZiXia.jpg')2 subplot(2,3,1)3 imshow(x);4 title('原图');5 Large=imresize(x,1.5);6 subplot(2,3,2)7 imshow(Large);8 title('扩⼤为1.5');9 Small=imresize(x,0.1);10 subplot(2,3,3)11 imshow(Small);12 title('缩⼩为0.3');13 subplot(2,3,4)14 df=imresize(x,[600700],'nearest');15 imshow(df)16 title('600*700');17 df1=imresize(x,[300400],'nearest');18 subplot(2,3,5)19 imshow(df1)20 title('300*400');后记:(1)MATLAB基础知识回顾1:crtl+R是对选中的区域注释,ctrl+T是取消注释2:有的代码中点运算如O=a.*I+b/255 ,其中b除以255原因是:灰度数据有两种表式⽅法:⼀种是⽤unit8类型,取值0~255;另⼀种是double类型,取值0~1。
数字图像处理基本知识数字图像处理基木知识图像处理最早出现于20世纪50年代,当时的电子计算机己经发展到一定水平,人们开始利用计算机来处理图形和图像信息。
数字图像处理作为一门学科大约形成于20世纪60年代初期。
早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。
图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。
数字图像处理常用方法:1)图像变换:由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大。
因此,往往采用各种图像变换的方法,如傅立叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效的处理(如傅立叶变换可在频域中进行数字滤波处理)。
目前新兴研究的小波变换在时域和频域中都具有良好的局部化特性,它在图像处理中也有着广泛而有效的应用。
2)图像编码压缩:图像编码压缩技术可减少描述图像的数据量(即比特数),以便节省图像传输、处理时间和减少所占用的存储器容量。
压缩可以在不失真的前提下获得,也可以在允许的失真条件下进行。
编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。
3)图像增强和复原:图像增强和复原的目的是为了提高图像的质量,如去除噪声,提高图像的清晰度等。
图像增强不考虑图像降质的原因,突出图像中所感兴趣的部分。
如强化图像高频分量,可使图像中物体轮廓清晰,细节明显;如强化低频分量可减少图像中噪声影响。
图像复原要求对图像降质的原因有一定的了解,一般讲应根据降质过程建立“降质模型”,再采用某种滤波方法,恢复或重建原来的图像。
4)图像分割:图像分割是数字图像处理中的关键技术之一。
图像分割是将图像中有意义的特征部分提取出来,其有意义的特征有图像中的边缘、区域等,这是进一步进行图像识别、分析和理解的基础。
虽然目前己研究出不少边缘提取、区域分割的方法,但还没有一种普遍适用于各种图像的有效方法。
MATLAB数字图像处理实验--图像基本运算一、实验目的1.理解图像点运算、代数运算、几何运算的基本定义和常见方法;2.掌握在MTLAB中对图像进行点运算、代数运算、几何运算的方法;3.掌握在MATLAB中进行插值的方法4.运用MATLAB语言进行图像的插值缩放和插值旋转5.进一步熟悉了解MATLAB语言的应用。
二、实验设备与软件1.PC计算机系统2.MATLAB软件,包括图像处理工具箱(Image Processing Toolbox)3.实验图片三、实验内容及结果分析3.1图像的点运算选择pout.tif作为实验图像,实验原理及内容参照《MATLAB图像处理编程及应用》程序代码:I=imread('pout.tif');figure;subplot(1,3,1);imshow(I);title('原图');J=imadjust(I,[0.3;0.6],[0.1;0.9]);subplot(1,3,2);imshow(J);title('线性扩展');I1=double(I);I2=I1/255;C=2;K=C*log(1+I2);subplot(1,3,3);imshow(K);title('非线性扩展');M=255-I;figure;subplot(1,3,1);imshow(M);title('灰度倒置');N1=im2bw(I,0.4);N2=im2bw(I,0.7);subplot(1,3,2);imshow(N1);title('二值化阈值0.4');subplot(1,3,3);imshow(N2);title('二值化阈值0.7');执行结果:原图线性扩展非线性扩展灰度倒置二值化阈值0.4二值化阈值0.7实验1结果图3.2图像的代数运算选择两幅图像,一幅是原图像,一幅为背景图像,采用正确的图像代数运算方法,分别实现图像叠加、混合图像的分离和图像的局部显示效果。
图像加减运算的基本原理与应用1. 概述图像加减运算是数字图像处理中常用的一种操作,通过对图像的像素进行加法或减法运算,可以实现对图像的亮度、对比度等特征的调整,以及实现图像的融合、背景减除等应用。
2. 图像加法运算图像加法运算是将两幅图像的对应像素值相加得到新的像素值的过程。
具体步骤如下:1.读取两幅待加图像A和B,获取它们的像素矩阵。
2.确保两幅图像的尺寸相同,如果尺寸不同,可以通过插值等方法将它们调整至相同尺寸。
3.对于每个像素,将待加图像A和B对应位置的像素值相加,得到新的像素值。
4.将得到的新像素值存储在新的图像中,得到加法运算后的图像C。
图像加法运算常用于图像的亮度调整、对比度增强等应用,例如将两张曝光不同的照片进行加法运算,可以得到更好的曝光效果。
3. 图像减法运算图像减法运算是将两幅图像的对应像素值相减得到新的像素值的过程。
具体步骤如下:1.读取两幅待减图像A和B,获取它们的像素矩阵。
2.确保两幅图像的尺寸相同,如果尺寸不同,可以通过插值等方法将它们调整至相同尺寸。
3.对于每个像素,将待减图像A和B对应位置的像素值相减,得到新的像素值。
4.将得到的新像素值存储在新的图像中,得到减法运算后的图像C。
图像减法运算常用于图像的背景减除、运动目标检测等应用,通过减去背景图像,可以突出运动目标的轮廓。
4. 图像加减运算的应用图像加减运算可以应用于多个领域,下面列举了几个常见的应用场景:1.图像融合:通过将两幅图像进行加权相加,实现图像的融合效果,常用于全景图像拼接、HDR图像合成等应用。
2.背景减除:通过将背景图像与待减图像进行减法运算,得到仅包含目标物体的图像,常用于运动目标检测、视频监控等应用。
3.图像增强:通过将图像与增强滤波器进行加法运算,可以增强图像的对比度、边缘等特征,常用于图像增强、边缘检测等应用。
4.图像修复:通过将待修复图像与修复模板进行减法运算,可以去除图像中的噪声、伪影等干扰,常用于图像复原、去噪等应用。