“报告”使用范围很广,按照上级部署或工作计划,每完成一项任务,一般都要向上级写报告,反映工作中的基本情况、工作中取得的经验教训、存在的问题以及今后工作设想等,以取得上级领导部门的指导。报告对于我们的帮助很大,所以我们要好好写一篇报告。下面是小编精心为大家整理的7篇数字图像处理总结报告 数字图像处理课程学习心得(优质,亲的肯定与分享是对我们最大的鼓励。
数字图像处理课程心得体会 数字图像处理收获 篇一
数字图像处理学习报告
在这一学期,我选修了《数字图像处理基础》这门课程,同时,老师还讲授了一些视频处理的知识。在这里,梳理一下这学期学到的知识,并提出一些我对这门课程的建议。
图像处理是指对图像信息进行加工,从而满足人类的心理、视觉或者应用的需求的一种行为。图像处理方法一般有数字法和光学法两种,其中数字法的优势很明显,已经被应用到了很多领域中,相信随着科学技术的发展,其应用空间将会更加广泛。数字图像处理又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。数字图像处理是从20世纪60年代以来随着计算机技术和vlsl的发展而产生、发展和不断成熟起来的一个新兴技术领域。数字图像处理技术其实就是利用各种数字硬件与计算机,对图像信息通过转换而得到的电信号进行相应的数学运算,例如图像去噪、图像分割、提取特征、图像增强、图像复原等,以便提高图像的实用性。其特点是处理精度比较高,并且能够对处理软件进行改进来优化处理效果,操作比较方便,但是由于数字图像需要处理的数据量一般很大,因此处理速度有待提高。目前,随着计算机技术的不断发展,计算机的运算速度得到了很大程度的提高。在短短的历史中,它却广泛应用于几乎所有与成像有关的领域,在理论上和实际应用上都取得了巨大的成就。
1.数字图像处理需用到的关键技术
由于数字图像处理的方便性和灵活性,因此数字图像处理技术已经成为了图像处理领域中的主流。数字图像处理技术主要涉及到的关键技术有:图像的采集与数字化、图像的编码、图像的增强、图像恢复、图像分割、图像分析等。
图像的采集与数字化:就是通过量化和取样将一个自然图像转换为计算机能够处理的数字形式。
图像编码:图像编码的目的主要是来压缩图像的信息量,以便能够满足存储和传输的要
求。
图像的增强:图像的增强其主要目的是使图像变得清晰或者将其变换为机器能够很容易
分析的形式,图像增强方法一般有:直方图处理、灰度等级、伪彩色处理、边缘锐化、干扰抵制。
图像的恢复:图像恢复的目的是减少或除去在获得图像的过程中因为各种原因而产生的
退化,可能是由于光学系统的离焦或像差、被摄物与摄像系统两者之间的相对运动、光学或电子系统的噪声与介于被摄像物跟摄像系统之间的大气湍流等等。
图像的分割:图像分割是将图像划分为一些互相不重叠的区域,其中每一个区域都是像素的一个连续集,通常采用区域法或者寻求区域边界的境界法。
图像分析:图像分析是指从图像中抽取某些有用的信息、数据或度量,其目的主要是想得到某种数值结果。图像分析的内容跟人工智能、模式识别的研究领域有一定的交叉。2.数字图像处理的特点
数字图像处理的特点主要表现在以下几个方面:
1)数字图像处理的信息大多是二维信息,处理信息量很大。因此对计算机的计算速度、存
储容量等要求较高。2)数字图像处理占用的频带较宽。与语言信息相比,占用的频带要大几个数量级。所以在成像、传输、存储、处理、显示等各个环节的实现上技术难度较大,成本亦高。这就对频
带压缩技术提出了更高的要求。
3)数字图像中各个像素不是独立的,其相关性大。在图像画面上,经常有很多像素有相同
或接近的灰度。所以,图像处理中信息压缩的潜力很大。
4)数字图像处理后的图像受人的因素影响较大,因为图像一般是给人观察和评价的。
3.数字图像处理的优点
数字图像处理的优点主要表现在4个方面。
1)再现性好。数字图像处理与模拟图像处理的根本不同在于它不会因图像的存储、传输或
复制等一系列变换操作而导致图像质量的退化。只要图像在数字化时准确地表现了原稿,那么数字图像处理过程始终能保持图像的再现。
2)处理精度高。将一幅模拟图像数字化为任意大小的二维数组,主要取决于图像数字化设
备的能力。3)适用面宽。图像可以来自多种信息源,它们可以是可见光图像,也可以是不可见的波谱图像。只要针对不同的图像信息源,采取相应的图像信息采集措施,图像的数字处理方法 适用于任何一种图像。
4)灵活性高。图像处理大体上可分为图像的像质改善、图像分析和图像重建三大部分,每
一部分均包含丰富的内容。
4.数字图像处理的应用领域
图像是人类获取和交换信息的主要来源,因此,图像处理的应用领域必然涉及到人类生
活和工作的方方面面,随着人类活动范围的不断扩大,图像处理的应用领域也将随之不断扩 大。
航天和航空技术:在飞机遥感和卫星遥感技术中用配备有高级计算机的图像处理系统来判读分析,既节省人力又加快了速度,还可以从照片中提取人工所不能发现的大量有用情报。生物医学工程:除了ct技术之外,还有对医用显微图像的处理分析,如红细胞、白细胞分类,染色体分析,癌细胞识别等。
通信工程:当前通信的主要发展方向是声音、文字、图像和数据结合的多媒体通信。在一定意义上讲,编码压缩是这些技术成败的关键。除了已应用较广泛 的熵编码、dpcm编码、变换编码外,目前国内外正在大力开发研究新的编码方法,如分行编码、自适应网络编码、小波变换图像压缩编码等。
工业和工程领域:图像处理技术有着广泛的应用,如自动装配线中检测零件的质量并对零件进行分类,印刷电路板疵病检查,弹性力学照片的应力分析,流体力学图片的阻力和升力分析,邮政信件的自动分拣,在一些有毒、放射性环境内识别工件及物体的形状和排列状态,先进的设计和制造技术中采用工业视觉等等。
军事方面:图像处理和识别主要用于导弹的精确末制导 各种侦察照片的判读,具有图像传输、存储和显示的军事自动化指挥系统,飞机、坦克和军舰模拟训练系统等;公安业务图片的判读分析,指纹识别,人脸鉴别,不完整图片的复原,以及交通监控、事故分析等。
文化艺术:电视画面的数字编辑、动画的制作、电子图像游戏、纺织工艺品设计、服装设计与制作、发型设计、文物资料照片的复制和修复、运动员动作分析和评分等等。
视频和多媒体系统:电视制作系统广泛使用的图像处理、变换、合成,多媒体系统中静止图像和动态图像的采集、压缩、处理、存贮和传输等。
电子商务:图像处理技术在电子商务中也大有可为,如身份认证、产品防伪、水印技术等。
在这门课程的最后,代课老师给我们讲授了数字视频处理,让我们了解到数字视频就是以数字形式记录的视频,和模拟视频相对的。数字视频有不同的产生方式,存储方式和播出方式。比如通过数字摄像机直接产生数字视频信号,存储在数字带,p2卡,蓝光盘或者磁盘上,从而得到不同格式的数字视频。然后通过pc,特定的播放器等播放出来。了解了数字视频发展过程和视频压缩的概念和分类等。
我们这门课程主要是上理论课,其中有很复杂的数学原理,专业术语多,基础知识要求高,理解起来有些困难。当初选择这门课是希望能有一些具体软件的教学。就我了解,视频处理的软件有maya、premiere、绘声绘影、windows自带的move maker;处理数字图像的软件主要有matlab、photoshop、imagej(java图像处理程序)。其中,matlab和ps 很具有教学性,这两个软件也运用的很广。
matlab全称是matrixlaboratory(矩阵实验室),一开始它是一种专门用于矩阵数值计算的软件,从这一点上也可以看出,它在矩阵运算上有自己独特的特点。实际运用matlab中的绝大多数的运算都是通过矩阵这一形式进行的,这一特点决定了matlab在处理数字图像上的独特优势。理论上讲,图像是一种二维的连续函数,然而计算机对图像进行数字处理时,首先必须对其在空间和亮度上进行数字化,这就是图像的采样和量化的过程。
photoshop是adobe公司旗下最为出名的图像处理软件之一,集图像扫描、编辑修改、图像制作、广告创意,图像输入与输出于一体的图形图像处理软件,深受广大平面设计人员和电脑美术爱好者的喜爱。
如果能理论和实践相结合,相信我们会把数字图像处理理解的跟透彻,同时也锻炼了大家的动手能力。希望老师能多开设实际动手的课程。
数字图像处理基本运算实验报告 篇二
实 验 报 告 书
系部学生专业班
实验
名称姓名名称 级时间:
: : :
:
实验一 直方图均衡
一、实验目的
在学习图像直方图的概念、计算方法、性质和相关应用基础上,生成、绘制图像的直方图,并应用matlab编程实现图像直方图均衡化程序。
二、实验内容
(1)计算并绘制图像直方图;
(2)编程实现图像的直方图均衡化处理,显示均衡前后的直方图和图像;
三、实验运行结果
四、实验中遇到的问题及解决方法
1、显示无法找到图像文件,应将图片与xx.m文件置于同一文件夹;
2、编程过程中应注意标点的输入法,应该用英文输入,否则会报错。
3、编程完成后运行时输入文件名与保存时文件名相同,区分大小写。
五、思考题
(1)、灰度直方图可以反映一幅图像的哪些特征? 答:
1、表征了图像的一维信息。只反映图像中像素不同灰度值出现的次数(或频数)而未反映像素所在位置。
2、与图像之间的关系是多对一的映射关系。一幅图像唯一确定出与之对应的直方图,但不同图像可能有相同的直方图。
3、子图直方图之和为整图的直方图。(2)均衡化后的直方图有何特点?
答:经直方图均衡化处理后,可以得到一副改善了质量的新图像。这幅图像的灰度层次将不再是呈黑暗色调的图像,而是一副灰度层次较为适中的、比原始图像清晰、明快得多的图像。处理的结果使图像更适合与人的视觉特征或机器的识别系统。
六、实验心得体会
本次实验中,因为初学这个软件,我学习到了在程序中关于图像的运用,以及也复习了课本上的许多知识,加深了对直方图均衡化的理解。
七、程序清单
clear all;i=imread('');%打开一幅灰度图像 =size(i);p=m*n;j=imhist(i)./p;
%计算图像的归一化直方图 subplot(1,3,1),imshow(i); subplot(1,3,2),imhist(i,64); subplot(1,3,3),plot(j);
(2)直方图均衡化
clear all;im=imread('');j=histeq(im);%均衡化 subplot(2,2,1);imshow(im);title('原图');%显示原图 subplot(2,2,2);imhist(im);title('原图直方图');%显示原图的直方图 subplot(2,2,3);imshow(j);title('均衡化结果');%显示均衡化后的图像 subplot(2,2,4);imhist(j);title('均衡化结果的直方图');%显示均衡化后的直方图
实验二 频域图像增强
一、实验目的
1、频域图像增强
2、掌握基于频域的图像增强方法。
二、实验内容
(1)编程实现图像的理想低通和高通滤波;(2)编程实现图像的巴特沃斯低通和高通滤波。
三、实验运行结果
四、实验中遇到的问题及解决方法
显示图像无法打开,最终查出来时图像格式弄错了。
五、思考题
分析为什么图像通过低通滤波器后变得模糊?为什么通过高通滤波器后得到锐化结果?
答:图像的精细结构及突变部分主要由高频成分起作用,故经低通滤波后图像的精细结构消失,变得模糊;经高通滤波后图像得到锐化。
六、实验心得体会
本实验中遇到很多问题及错误,例如图像打不开、处理后图像模糊等,都是经常容易发生的错误,最后实验几次,就能够逐一自己解决了。使自己对数字图像处理课程中的许多问题有了更实际和确切的深入了解。
七、程序清单
clc;clear;data4=imread('');subplot(3,2,1);imshow(data4);title('原图');i=fft2(data4);subplot(3,2,2);i=fftshift(i);z=log(abs(i));x=0:1:255;y=0:1:255;=meshgrid(x,y);mesh(z);%以三维坐标显示该图像频谱图title('原图频谱');=size(i);%for k=1:1:n for l=1:1:m if(k^2+l^2)>=190^2 % result(k,l)=0;else result(k,l)=i(k,l);end end end subplot(3,2,4);
对该图进行低通滤波 选取d=190
z=log(abs(result));%三维方式显示低通滤波后的频谱图 x=0:1:255;y=0:1:255;=meshgrid(x,y);mesh(z);title('理想低通滤波后的频谱');subplot(3,2,3);%新建图像显示窗口 result=fftshift(result);%滤波后的数据去中心化 b=ifft2(result);%逆傅里叶变换 imshow(uint8(abs(b)));title('理想低通滤波后的图像');subplot(3,2,6);%新建图像显示窗口 % =size(c);%对原图进行高通滤波 for k=1:1:n for l=1:1:m if(k^2+l^2)<=190^2 %选取d=190 result(k,l)=0;else result(k,l)=i(k,l);end end end z=log(abs(result));x=0:1:255;%三维方式显示高通滤波前的频谱图 y=0:1:255;=meshgrid(x,y);mesh(z);title('理想高通滤波后的频谱');subplot(3,2,5);result=fftshift(result);%滤波后的数据去中心化 d=ifft2(result);%逆傅里叶变换
imshow(uint8(abs(d)));title('理想高通滤波后的图像');%频域增强(巴特沃斯原型)
%二阶巴特沃斯(butterworth)低通滤波器 %clc;%clear;figure;j1=imread('');subplot(3,2,1);imshow(j1);title('原图');f=double(j1);g=fft2(f);% 傅立叶变换 g=fftshift(g);% 转换数据矩阵 subplot(3,2,2);x=0:1:255;y=0:1:255;=meshgrid(x,y);z=log(abs(g));%取幅度 mesh(z);%以三维坐标显示该图像频谱图 title('原图频谱');=size(g);nn=2;% 二阶巴特沃斯(butterworth)低通滤波器 d0=20;m=fix(m/2);n=fix(n/2);for i=1:m for j=1:n d=sqrt((i-m)^2+(j-n)^2);h=1/(1+0.414*(d/d0)^(2*nn));% 计算低通滤波器传递函数 result(i,j)=h*g(i,j);
end end subplot(3,2,4);x=0:1:255;y=0:1:255;=meshgrid(x,y);z=log(abs(result));%取幅度 mesh(z);%以三维坐标显示该图像频谱图 title('低通滤波后的频谱');result=ifftshift(result);j2=ifft2(result);j3=uint8(abs(j2));subplot(3,2,3);imshow(j3);title('低通滤波后的图像');
%利用二阶巴特沃斯(butterworth)高通滤波器
nn=2;% 二阶巴特沃斯(butterworth)高通滤波器 d0=5;m=fix(m/2);n=fix(n/2);for i=1:m for j=1:n d=sqrt((i-m)^2+(j-n)^2);if(d==0)h=0;else h=1/(1+0.414*(d0/d)^(2*nn));% 计算传递函数 end result(i,j)=h*g(i,j);
end end subplot(3,2,6);x=0:1:255;y=0:1:255;=meshgrid(x,y);z=log(abs(result));%取幅度 mesh(z);%以三维坐标显示该图像频谱图 title('高通滤波后的频谱');result=ifftshift(result);j2=ifft2(result);j3=uint8(abs(j2));subplot(3,2,5);imshow(j3);title('高通滤波后的图像');
实验三 图像边缘检测与连接
一、实验目的
图像边缘检测与连接
二、实验内容
(1)编程实现一阶差分边缘检测算法,包括robert梯度算子、prewitt算子、sobel算子等;(2)编程实现二阶差分拉普拉斯边缘检测算法以及log检测法和canny检测法;(3)分析与比较各种边缘检测算法的性能;
(4)编程实现hough变换提取直线
(5)分析hough变换检测性能;
三、实验运行结果
四、实验中遇到的问题及解决方法
拷贝文件后没改文件名,直接执行时出现错误,最后重新修改后重新编译,使之成功。
五、思考题
(1)边缘的方向是什么意思?为什么要考虑边缘的方向?
答:边缘常常意味着一个区域的终结和另一个区域的开始,图像的边缘也包含了物体的形状的重要信息,他不仅在分析图像时大幅度的减少了要处理的信息量,而且还保护了目标的边界结构。所以考虑边缘的方向很重要。
(2)hough变换原理是什么?
答:hough变换的基本原理在于利用点与线的对偶性,将原始图像空间的给定的曲线通过曲线表达形式变为参数空间的一个点。这样就把原始图像中给定曲线的检测问题转化为准找参数空间的峰值问题。也即把检测整体特性转化为检测局部特性。比如直线、椭圆、圆、弧线等。
六、实验心得体会
对于一些图像处理的函数不是很了解,只能够按课本的参照函数拷贝做实验,对于其中的一些函数问题理解不是很透彻,有些甚至完全不懂。还得继续努力。
七、程序清单
1、边缘检测
由edge函数实现各算子对图像的边缘检测
clear all;i = imread('d:');i=rgb2gray(i);bw1 = edge(i,'sobel');
%利用sobel算子进行边缘检测 bw2 = edge(i,'roberts');%利用roberts算子进行边缘检测 bw3 = edge(i,'prewitt');%利用prewitt算子进行边缘检测 bw4 = edge(i,'log');
%利用log算子进行边缘检测 bw5 = edge(i,'canny');
%利用canny算子进行边缘检测 subplot(2,3,1),imshow(i)subplot(2,3,2),imshow(bw1)subplot(2,3,3),imshow(bw2)subplot(2,3,4),imshow(bw3)
subplot(2,3,5),imshow(bw4)subplot(2,3,6),imshow(bw5)
2、边缘连接
使用hough变换作线检测和连接
clear all;
rgb = imread('d:');i=rgb;%i = rgb2gray(rgb);bw = edge(i,'canny');
% 利用canny算子提取图像边缘 = hough(bw,'rhoresolution',0.5,'thetaresolution',0.5);figure(1), imshow(t,r,h,,'notruesize'), axis on, axis normal xlabel('t'), ylabel('r')p = houghpeaks(h,5,'threshold',ceil(0.3*max(h(:))));
%找到5个较明显的hough变换峰值
hold on plot(t(p(:,2)),r(p(:,1)),'s','color','white');lines = houghlines(bw,t,r,p,'fillgap',10,'minlength',10);
%查找并链接线段
figure, imshow(bw), hold on %在二值图中叠加显示这些线段 for k = 1:length(lines)
xy = ;
plot(xy(:,1),xy(:,2),'linewidth',2,'color','green');end
数字图像处理实验报告二 篇三
数字图像处理实验
学生姓名:专业年级:报告
叶圣红 学 号: 20097048
09级电子信息工程二班
实验一 常用matlab图像处理命令
一、实验内容
1、读入一幅rgb图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示rgb图像和灰度图像,注上文字标题。
实验结果如右图: 代码如下: subplot(1,3,1)
i=imread('e:')imshow(i)
title('rgb')subplot(1,3,2)j=rgb2gray(i)imshow(j)title('灰度')subplot(1,3,3)k=im2bw(j,0.5)imshow(k)title('二值')
2、对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。
实验结果如右图: 代码如下: subplot(3,2,1)i=imread('e:')x=imresize(i,)imshow(x)title('原图x')subplot(3,2,2)j=imread(''e:')y=imresize(j,)imshow(y)title('原图y')subplot(3,2,3)z=imadd(x,y)imshow(z)title('相加结果');subplot(3,2,4);z=imsubtract(x,y);imshow(z);title('相减结果')subplot(3,2,5);z=immultiply(x,y);imshow(z);title('相乘结果')subplot(3,2,6);z=imspanide(x,y);imshow(z);title('相除结果')
3、对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。
实验结果如右图:
代码如下: subplot(2,2,1)i=imread('e:')imshow(i)title('原图')subplot(2,2,2)j = imadjust(i,,,3);imshow(j)title('变暗')subplot(2,2,3)j = imadjust(i,,,0.4)imshow(j)title('变亮')subplot(2,2,4)j=255-i imshow(j)title('变负')
二、实验总结
分析图像的代数运算结果,分别陈述图像的加、减、乘、除运算可能的应用领域。
解答:图像减运算与图像加运算的原理和用法类似,同样要求两幅图像x、y的大小类型相同,但是图像减运算imsubtract()有可能导致结果中出现负数,此时系统将负数统一置为零,即为黑色。
乘运算实际上是对两幅原始图像x、y对应的像素点进行点乘(x.*y),将结果输出到矩阵z中,若乘以一个常数,将改变图像的亮度:若常数值大于1,则乘运算后的图像将会变亮;叵常数值小于是,则图像将会会暗。可用来改变图像的灰度级,实现灰度级变换,也可以用来遮住图像的某些部分,其典型应用是用于获得掩膜图像。
除运算操作与乘运算操作互为逆运算,就是对两幅图像的对应像素点进行点(x./y),imspanide()同样可以通过除以一个常数来改变原始图像的亮度,可用来改变图像的灰度级,其典型运用是比值图像处理。
加法运算的一个重要应用是对同一场景的多幅图像求平均值
减法运算常用于检测变化及运动的物体,图像相减运算又称为图像差分运算,差分运算还可以用于消除图像背景,用于混合图像的分离。
实验二 图像基本操作
一、实验内容
1.调试运行8倍减采样程序,分析程序,对每条语句给出注释,并显示最终执行结果。
1、调试运行8倍减采样程序,分析程序,对每条语句给出注释,并显示最终执行结果。
a=imread(‘e:’);%读取图片 b=rgb2gray(a);%变为灰度图像
=size(b);%改变图片大小 quartimg=zeros(wid/2+1,hei/2+1);i1=1;j1=1;for i=1:2:wid
for j=1:2:hei
quartimg(i1,j1)=b(i,j);
j1=j1+1;
end
i1=i1+1;j1=1;end figure imshow(uint8(quartimg))%显示输出图像
2、显示一幅灰度图像a,改变图像亮度使其整体变暗得到图像b,显示两幅图像的直方图
subplot(1,2,1);a=imread('e:');imshow(a);title('a');subplot(1,2,2);b= imadjust(a,,,3);title('b')
显示直方图程序:
subplot(1,2,1);imhist(a);title('a的直方图')subplot(1,2,2);imhist(b);title('b的直方图')
3、对图像b进行直方图均衡化,显示结果图像和对应直方图。
subplot(1,2,1);j=histeq(b);imshow(j);title('b均衡化');subplot(1,2,2);imhist(j);title('b均衡化后的直方图')均衡化的图像和直方图:
4、读入图像c,执行直方图规定化,使图像a的灰度分布与c大致相同,显示变换后图像及对应直方图。
=imhist(c);subplot(2,2,1);imshow(a);title('图a');subplot(2,2,2);c=imread('e:');imshow(c);title('图c');subplot(2,2,3);j=histeq(a,counts);imshow(j);subplot(2,2,4);imhist(j)
实验三 图像变换
一、实验内容
1、对一幅图像进行缩小,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。i=imread('f:');y=rgb2gray(i);subplot(2,2,1);imshow(y);title('原图')j=imresize(y,0.5);subplot(2,2,2);imshow(j);title('缩小图')m=fft2(y);subplot(2,2,3);imshow(abs(log(m)),);title('原图傅里叶变化')n=fft2(j);subplot(2,2,4);imshow(abs(log(n)),);title('缩小图傅里叶变化')
2、对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的对应关系。
i=imread('e:');j=rgb2gray(i);subplot(2,2,1);imshow(j);title('原图')m=imrotate(j,45,'bilinear');subplot(2,2,2);imshow(m);title('旋转图')p=fftshift(fft2(j));subplot(2,2,3);imshow(abs(log(p)),);title('原图傅里叶变化')q=fftshift(fft2(m));subplot(2,2,4);imshow(abs(log(q)),);title('旋转图傅里叶变化')
实验四 常用图像增强方法
一、实验内容
1、采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波,窗口分别采用3*3,5*5,7*7 subplot(2,2,1);
a=imread('e:');j=imnoise(a,'salt & pepper',0.04);imshow(j);
title('椒盐噪声图像');subplot(2,2,2);i_filter1=medfilt2(j,);
imshow(i_filter1);title('3x3');subplot(2,2,3);i_filter2=medfilt2(j,);
imshow(i_filter2);title('5x5');subplot(2,2,4);i_filter3=medfilt2(j,);
imshow(i_filter3);title('7x7');
2、采用matlab中的函数filter2对受噪声干扰的图像进行均值滤波 subplot(1,2,1);a=imread('e:');j=imnoise(a,'salt & pepper',0.04);imshow(j);title('椒盐噪声图像');subplot(1,2,2);h=fspecial('average');m=filter2(h,j);imshow(m);title('均值滤波')
3、采用三种不同算子对图像进行锐化处理。
subplot(1,4,1);i=imread('f:数字图像处理');i1=rgb2gray(i);imshow(i1);title('原图像');subplot(1,4,2);h=fspecial('laplacian');i2=filter2(h,i1);imshow(i2);title('拉式算子');subplot(1,4,3)h=fspecial('prewitt');i3=filter2(h,i1);imshow(i3);title('prewitt算子')subplot(1,4,4)h=fspecial('sobel');i4=filter2(h,i1)imshow(i4);title('sobel算子')
二、实验总结
1、比较不同平滑滤波器的处理效果,分析其优缺点
中值滤波比低通滤波消除噪声更有效。因为噪声多为尖峰状干扰,若用低通滤波虽能去除噪声但陡峭的边缘将被模糊。中值滤波能去除点状尖峰干扰而边缘不会变坏。理想低通滤波器平滑处理的概念是清晰的,但在处理过程中会产生较严重的模糊和振铃现象。这种现象正是由于傅里叶变换的性质决定的。
2、比较不同锐化滤波器的处理效果,分析其优缺点
梯度算子: 梯度对应的是一阶导数,梯度算子是一阶导数算子。梯度方向:在图像灰度最大变化率上,反映出图像边缘上的灰度变化。梯度处理经常用于工业检测、辅助人工检测缺陷,或者是更为通用的自动检测的预处理。拉普拉斯微分算子强调图像中灰度的突变,弱化灰度慢变化的区域。这将产生一幅把浅灰色边线、突变点叠加到暗背景中的图像。
实验五 图像恢复和图像分割
一、实验内容
1、产生运动模糊图像,运用维纳滤波进行图像恢复,显示结果。
i=imread('f:');i1=rbg2gray(i);i= im2double(i1);subplot(1,3,1)imshow(i);title(‘原图像’)len = 21;theta = 11;
psf = fspecial('motion', len, theta);
blurred = imfilter(i, psf, 'conv', 'circular');subplot(1,3,2);imshow(blurred);title('模拟运动模糊图像')wnr2=deconvwnr(blurred,psf);subplot(1,3,3);imshow(wnr2);title('维纳滤波恢复后图像')
2、采用三种不同算子检测图像边缘,显示结果
i = imread('f:');i=rgb2gray(i);subplot(2,2,1);imshow(i);title('原图像')bw1 = edge(i,'prewitt');subplot(2,2,2);imshow(bw1);title('prewit算子边缘检测')bw2=edge(i,'zerocross');subplot(2,2,3);imshow(bw2);title('zerocross算子边缘检测')bw3=edge(i,'log');subplot(2,2,4);imshow(bw3);title('log算子边缘检测')
3、对二值图像分别进行方形模板3*3和5*5的膨胀和腐蚀操作,显示结果。
i= imread('f:');i=im2bw(i,0.5);subplot(2,3,1);imshow(i);title('二值图像')se=strel('square',3);se1= strel('square',5);i1 = imdilate(i,se);subplot(2,3,2);imshow(i1);title('3*3膨胀图像')i2 = imdilate(i,se1);subplot(2,3,3);imshow(i2);title('5*5膨胀图像')subplot(2,3,4);imshow(i);title('二值图像')erodedbw=imerode(i,se);subplot(2,3,5);imshow(erodedbw);title('3*3腐蚀图像')erodedbw1=imerode(i,se1);subplot(2,3,6);imshow(erodedbw1);title('5*5腐蚀图像')
实验六 图像处理实际应用
一、实验内容
1、调试运行下列程序,分析程序,对每条语句给出注释,并显示最终执行结果。总结算法思想及优缺点
总结:对于特定位置的车牌识别算法非常高效,但对于含有噪声等其他因素的车牌分割处理,相对来说算法还有待完善。
三、实验内容
调试运行下列程序,分析程序,对每条语句给出注释,并显示最终执行结果。总结算法思想及优缺点。i=imread('');%读取图片
=size(i);% 返回i各维的尺寸,并存储在变量y、x、z中 myi=double(i);%换成双精度数值
%%%%%%%%%%% rgb to hsi %%%%%%%% %begin横向扫描
tic
%计算tic与toc之间程序的运行时间
%%%%%%%% y 方向 %%%%%%%%%% 分割字符按行积累量
blue_y=zeros(y,1);%产生y*1的全0矩阵 for i=1:y
%给定i的范围
for j=1:x
:x%给定j的范围
if((myi(i,j,1)<=30)&&((myi(i,j,2)<=62)&&(myi(i,j,2)>=51))&&((myi(i,j,3)<=142)&&(myi(i,j,3)>=119)))% 蓝色rgb的灰度范围
blue_y(i,1)= blue_y(i,1)+1;
%蓝色像素点统计
end
end
end =max(blue_y);
% y方向车牌区域确定
%temp为向量white_y的元素中的最大值,maxy为该值的索引(在向量中的位置)
py1=maxy;
%y矩阵的最大元素
while((blue_y(py1,1)>=5)&&(py1>1))
确定蓝色rgb blue_y所在位置
py1=py1-1;
%对车牌区域的修正,向上调整 end
py2=maxy;
while((blue_y(py2,1)>=5)&&(py2
py2=py2+1;end iy=i(py1:py2,:,:);%iy为原始图像i中截取的纵坐标在py1:py2之间的部分 %end横向扫描
%begin纵向扫描
%%%%%%%% x 方向 %%%%%%%%%%
blue_x=zeros(1,x);
%产生y*1的全0矩阵
for j=1:x
for i=py1:py2
if((myi(i,j,1)<=30)&&((myi(i,j,2)<=62)&&(myi(i,j,2)>=51))&&((myi(i,j,3)<=142)&&(myi(i,j,3)>=119)))
blue_x(1,j)= blue_x(1,j)+1;% blue_x 的矩阵加一
end
end
end
px1=1;while((blue_x(1,px1)<3)&&(px1
px1=px1+1;%对车牌区域的修正向下调整 end
px2=x;while((blue_x(1,px2)<3)&&(px2>px1))%确定蓝色rgb blue_x的位置
px2=px2-1;%对车牌区域的修正向下调整 end %end纵向扫描
px1=px1-2;% 对车牌区域的修正 px2=px2+2;
plate=i(py1:py2,px1-2:px2,:);t=toc % 读取计时
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure,imshow(i);% 原始图像'
figure,plot(blue_y);grid %创建图像窗口,绘制blue_y图像,画出网格线' figure,plot(blue_x);grid%创建图像窗口,绘制blue_x图像,画出网格线'figure,imshow(plate);
% 车牌截取结果'
数字图像处理基本运算实验报告 篇四
实验报告
班级:通信103 学号:201027201 姓名:计富威 指导教师:孙洁
实验一 matlab数字图像处理初步
一、实验目的与要求
1.熟悉及掌握在matlab中能够处理哪些格式图像。2.熟练掌握在matlab中如何读取图像。
3.掌握如何利用matlab来获取图像的大小、颜色、高度、宽度等等相关信息。
4.掌握如何在matlab中按照指定要求存储一幅图像的方法。5.图像间如何转化。
二、实验内容及步骤
1.利用imread()函数读取一幅图像,假设其名为””,存入一个数组中;
>>i=imread('');2.利用whos命令提取该读入图像””的基本信息; >>whos i 3.利用imshow()函数来显示这幅图像; >>imshow(i);
4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;
>>imfinfo('');5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
>>imwrite(i,'','quality',50)6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,。>>imwrite(i,'');7.用imread()读入图像: ; >>b=imread('');>>c=imread('');8.用imfinfo()获取图像 的大小; >>imfinfo('');>>imfinfo('');9.用figure,imshow()分别将显示出来,观察两幅图像的质量。>>figure >>imshow(b);>>figure >>imshow(c);
(图像截图)
(图像截图)
10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。>> d=im2bw(b);>>figure >>imshow(b);>>figure >>imshow(d);
(二值化截图)
三、实验总结
通过实验matlab软件的基本使用有了基本的了解,学会了使用matlab软件来读取一个特定格式的图像,并通过相关的命令语句对图像进行格式转换、图像压缩、二值化等的处理,掌握了利用matlab来获取图像的大小、颜色、高度、宽度等等相关信息,掌握在matlab中如何通过imshow()语句来读取图像等等。
第二 图像基本运算
一、实验目的
1.了解图像的算术运算在数字图像处理中的初步应用。2.体会图像算术运算处理的过程和处理前后图像的变化。
二、实验原理
图像的代数运算是图像的标准算术操作的实现方法,是两幅输入图像之间进行的点对点的加、减、乘、除运算后得到输出图像的过程。如果输入图像为a(x,y)和b(x,y),输出图像为c(x,y),则图像的代数运算有如下四种形式:
c(x,y)= a(x,y)+ b(x,y)c(x,y)= a(x,y)-b(x,y)c(x,y)= a(x,y)* b(x,y)c(x,y)= a(x,y)/ b(x,y)
三、实验步骤 1.图像的加法运算
在matlab中,如果要进行两幅图像的加法,或者给一幅图像加上一个常数,可以调用imadd函数来实现。imadd函数将某一幅输入图像的每一个像素值与另一幅图像相应的像素值相加,返回相应的像素值之和作为输出图像。imadd函数的调用格式如下:
z = imadd(x,y)首先读入两幅图像
>>a=imread('');>>b=imread('')通过一个加法操作:>> c=imadd(a,b);
给图像的每一个像素加上一个常数可以使图像的亮度增加。如截图
第一张为原图,第二张为亮度加50,第三张为亮度减50 2.图像的减法运算
在matlab中,使用imsubtract函数可以将一幅图像从另一幅图像中减去,或者从一幅图像中减去一个常数。imsubtract函数将一幅输入图像的像素值从另一幅输入图像相应的像素值中减去,再将这个结果作为输出图像相应的像素值。imsubtract函数的调用格式如下:
z = imsubtract(x,y); 读入一幅画后通过减法 >>a3=imsubtract(a,50);
3.图像的乘法运算
在matlab中,使用immultiply函数实现两幅图像的乘法。immultiply函数将两幅图像相应的像素值进行元素对元素的乘法操作(matlab点乘),并将乘法的运算结果作为输出图形相应的像素值。immulitply函数的调用格式如下:
z = immulitply(x,y)读入一幅图后通过乘法操作 >> a=imread('');>> b=immultiply(a,1.5);
4.图像的除法运算
在matlab中使用imspanide函数进行两幅图像的除法。imspanide函数对两幅输入图像的所有相应像素执行元素对元素的除法操作(点除),并将得到的结果作为输出图像的相应像素值。imspanide函数的调用格式如下:
z = imspanide(x,y)读入一幅图后通过除法操作
四、实验总结
通过对图像的四则运算了结图像的不同变化过程,对软件的进一步使用也有了更加深刻的认识。
实验三 图像增强—空域滤波
一、实验目的
进一步了解matlab软件/语言,学会使用matlab对图像作滤波处理,使学生有机会掌握滤波算法,体会滤波效果。
了解几种不同滤波方式的使用和使用的场合,培养处理实际图像的能力,并为课堂教学提供配套的实践机会。
二、实验设备与软件
(1)ibm-pc计算机系统
(2)matlab软件/语言包括图像处理工具箱(image processing toolbox)
(3)实验所需要的图片
三、实验内容与步骤
a)调入并显示原始图像“”。>>i=imread('');b)利用imnoise命令在图像“”上加入高斯(gaussian)噪声
>>j = imnoise(i,'gauss',0.02);
%添加高斯噪声 c)利用预定义函数fspecial命令产生平均(average)滤波器 d)分别采用3x3和5x5的模板,分别用平均滤波器以及中值滤波器,对加入噪声的图像进行处理并观察不同噪声水平下,上述滤波器处理的结果;
>>ave1=fspecial('average',3);
%产生3×3的均值模版 >>ave2=fspecial('average',5);
%产生5×5的均值模版 >>k = filter2(ave1,j)/255;
%均值滤波3×3 >>l = filter2(ave2,j)/255;
%均值滤波5×5 e)选择不同大小的模板,对加入某一固定噪声水平噪声的图像进行处理,观察上述滤波器处理的结果。
>>m = medfilt2(j,);
%中值滤波3×3模板 >>n = medfilt2(j,);
%中值滤波4×4模板
f) 上加入椒盐噪声(salt & pepper)>>j = imnoise(i,'salt& pepper',0.02);
%添加椒盐噪声
四、实验总结
椒盐噪声是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。椒盐噪声往往由图像切割引起,去除脉冲干扰及椒盐噪声最常用的算法是中值滤波。椒盐噪声是指两种噪声,一种是盐噪声,另一种是胡椒噪声。盐=白色,椒=黑色。前者是高灰度噪声,后者属于低灰度噪声。一般两种噪声同时出现,呈现在图像上就是黑白杂点。这点我们通过实验结果可以明显看到。中值滤波对于滤除图像的椒盐噪声非常有效。
实验四图像分割
一、实验目的
使用matlab 软件进行图像的分割。使学生通过实验体会一些主要的分割算子对图像处理的效果,以及各种因素对分割效果的影响。
二、实验要求
要求学生能够自行评价各主要算子在无噪声条件下和噪声条件下的分割性能。能够掌握分割条件(阈值等)的选择。完成规定图像的处理并要求正确评价处理结果,能够从理论上作出合理的解释。
三、实验内容与步骤
(1)使用roberts 算子的图像分割实验,,截图如下
(2)使用prewitt 算子的图像分割实验 截图如下
(3)使用sobel 算子的图像分割实验
(4)使用log(拉普拉斯-高斯)算子的图像分割实验
四、实验结果
对roberts算子、prewitt 算子、sobel 算子、log(拉普拉斯-高斯)算子的运算对图像的结果有了基本的认识,加深学习效果。
实验五 形态学运算
1、实验目的
学习常见的数学形态学运算基本方法,了解腐蚀、膨胀、开运算、闭运算取得的效果,培养处理实际图像的能力,并为课堂教学提供配套的实践机会。
2、实验要求
利用matlab工具箱中关于数学形态学运算的函数,计算本指导书中指定二值图像进行处理。
3、实验设备与软件
-pc计算机系统
软件/语言包括图像处理工具箱(image processing toolbox)3.实验所需要的图片
4、实验内容与步骤
1.调入并显示图像“”; 2.调入并显示图像“”;
3.选取合适的阈值,得到二值化图像“”; >>bw = im2bw(i,level);
%二值化 4.设置结构元素;
5.对得到的二值图像“”进行腐蚀运算; >>bw2 = imerode(bw,se1);
%腐蚀 6.对得到的二值图像“”进行膨胀运算; >>bw1 = imdilate(bw,se);
%膨胀 7.对得到的二值图像“”进行开运算;
>>bw3 = bwmorph(bw, 'open');
%开运算 8.对得到的二值图像“”进行闭运算; >>bw4 = bwmorph(bw, 'close');
%闭运算 9.将两种处理方法的结果作比较;
五、实验总结
通过本次实验,学习了常见的数学形态学运算基本方法,了解腐蚀、膨胀、开运算、闭运算取得的效果,培养处理实际图像的能力,通过自己动手的实验,对课本上的知识有了更加深刻的理解。
数字图像处理基本运算实验报告 篇五
目录
实验一: 数字图像的基本处理操作。2 1.1: 实验目的。2 1.2:实验任务和要求。2 1.3:实验步骤和结果。2 1.4:结果分析。6 实验二: 图像的灰度变换和直方图变换。7 2.1: 实验目的。7 2.2:实验任务和要求。7 2.3:实验步骤和结果。7 2.4:结果分析。11 实验三: 图像的平滑处理。12 3.1: 实验目的。12 3.2:实验任务和要求。12 3.3:实验步骤和结果。12 3.4:结果分析。16 实验四:图像的锐化处理。17 4.1: 实验目的。17 4.2:实验任务和要求。17 4.3:实验步骤和结果。17 4.4:结果分析。19
实验一:
数字图像的基本处理操作
1.1: 实验目的
1、熟悉并掌握matlab、photoshop等工具的使用;
2、实现图像的读取、显示、代数运算和简单变换。
3、熟悉及掌握图像的傅里叶变换原理及性质,实现图像的傅里叶变换。
1.2:实验任务和要求
1.读入一幅rgb图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示rgb图像和灰度图像,注上文字标题。2.对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。3.对一幅图像进行平移,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。4.对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的对应关系。
1.3:实验步骤和结果
1.对实验任务1的实现代码如下: a=imread('d:');i=rgb2gray(a);i=im2bw(a,0.5);subplot(1,3,1);imshow(a);title('原图像');subplot(1,3,2);imshow(i);title('灰度图像');subplot(1,3,3);imshow(i);title('二值图像');subplot(1,3,1);imshow(a);title('原图像');
结果如图1.1 所示:
图1.1 原图及其灰度图像,二值图像 2.对实验任务2的实现代码如下: a=imread('d:');a=imresize(a,);b=imread('d:');b=imresize(b,);z1=imadd(a,b);z2=imsubtract(a,b);z3=immultiply(a,b);z4=imspanide(a,b);subplot(3,2,1);imshow(a);title('原图像 a');subplot(3,2,2);imshow(b);title('原图像 b');subplot(3,2,3);imshow(z1);title('加法图像');subplot(3,2,4);imshow(z2);title('减法图像');subplot(3,2,5);imshow(z3);title('乘法图像');subplot(3,2,6);imshow(z2);title('除法图像');结果如图1.2所示:
3.对实验任务3的实现代码如下:
s=imread('d:');i=rgb2gray(s);i=double(i);j=fft2(i);k=fftshift(j);
%直流分量移到频谱中心 i=log(abs(k));
%对数变换
m=fftshift(j);
%直流分量移到频谱中心 rr=real(m);
%取傅里叶变换的实部 ii=imag(m);
%取傅里叶变换的虚部 a=sqrt(rr.^2+ii.^2);a=(a-min(min(a)))/(max(max(a)))*255;b=circshift(s,);b=rgb2gray(b);b=double(b);c=fft2(b);e=fftshift(c);i=log(abs(e));f=fftshift(c);ww=real(f);zz=imag(f);b=sqrt(ww.^2+zz.^2);b=(b-min(min(b)))/(max(max(b)))*255;subplot(2,2,1);imshow(s);title('原图像');subplot(2,2,2);imshow(uint8(b));title('平移图像');subplot(2,2,3);imshow(a);title('离散傅里叶变换频谱');subplot(2,2,4);imshow(b);title('平移图像离散傅里叶变换频谱');结果如图1.3所示:
4.对实验任务4的实现代码如下: s=imread('d:');i=rgb2gray(s);i=double(i);j=fft2(i);k=fftshift(j);i=log(abs(k));m=fftshift(j);rr=real(m);ii=imag(m);a=sqrt(rr.^2+ii.^2);a=(a-min(min(a)))/(max(max(a)))*255;b=imrotate(s,-90);b=rgb2gray(b);b=double(b);c=fft2(b);e=fftshift(c);i=log(abs(e));f=fftshift(c);ww=real(f);zz=imag(f);b=sqrt(ww.^2+zz.^2);b=(b-min(min(b)))/(max(max(b)))*255;subplot(2,2,1);imshow(s);title('原图像');subplot(2,2,2);imshow(uint8(b));title('平移图像');subplot(2,2,3);imshow(a);title('离散傅里叶频谱');subplot(2,2,4);imshow(b);title('平移图像离散傅里叶频谱');结果如图1.4所示:
1.4:结果分析
对matlab软件的操作开始时不太熟悉,许多语法和函数都不会使用,写出程序后,调试运行,最开始无法显示图像,检查原因,是有些标点符号没有在英文状态下输入和一些其他的细节,学会了imread(),imshow(),rgb2gray()等函数。
实验二: 图像的灰度变换和直方图变换
2.1: 实验目的
1、熟悉及掌握图像的采样原理,实现图像的采样过程,进行图像的灰度转换。
2、理解直方图的概念及应用,实现图像直方图的显示,及通过直方图均衡对图像进行修正。
2.2:实验任务和要求
1、对一幅图像进行2倍、4倍、8倍和16倍减采样,显示结果。
2、显示一幅灰度图像a,改变图像亮度使其整体变暗得到图像b,显示两幅图像的直方图。
3、对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。
4、对一副图像进行直方图均衡化,显示结果图像和对应直方图。
5、对一副图像进行如图所示的分段线形变换处理,试比较与直方图均衡化处理的异同。
2.3:实验步骤和结果
1.对实验任务1的实现代码如下:
a=imread('d:');
b=rgb2gray(a);for m=1:4 figure =size(b);quartimage=zeros(floor(width/(m)),floor(height/(2*m)));k=1;n=1;for i=1:(m):width for j=1:(2*m):height quartimage(k,n)=b(i,j);n=n+1;end k=k+1;n=1;end imshow(unit8(quartimage));end
结果如图所示:
2.对实验任务2的实现代码如下:
a=imread('d:');c=rgb2gray(a);b=c-46;subplot(3,2,1);imshow(c);title('原图像')subplot(3,2,2);imhist(c);title('原图像的直方图')subplot(3,2,3);imshow(b);title('变暗后的图像')subplot(3,2,4);imhist(b);title('变暗后的图像直方图');d=imadjust(c,,);subplot(3,2,5);imshow(d);title('反转图像');结果如图2.2所示:
3.对实验任务3的实现代码如下: a=imread('d:');m=imadjust(a,,);%图像变亮 n=imadjust(a,,);%图像变暗 g=255-a;%负片效果
subplot(2,2,1);imshow(a);title('原图像');subplot(2,2,2);imshow(m);title('图像变亮');subplot(2,2,3);imshow(n);title('图像变暗');subplot(2,2,4);imshow(g);title('负片效果');结果如图所示:
4.对实验任务4的实现代码如下:
b=imread('d:');c=rgb2gray(b);j=histeq(c);subplot(2,2,1),imshow(c);subplot(2,2,2),imshow(j);subplot(2,2,3),imhist(c);subplot(2,2,4),imhist(j);结果如图2.4所示:
5.对实验任务5的实现代码如下: x1=0:0.01:0.125;x2=0.125:0.01:0.75;x3=0.75:0.01:1;y1=2*x1;y2=0.25+0.6*(x2-0.125);y3=0.625+1.5*(x3-0.75);x=;y=;plot(x,y);结果如图所示:
2.4:结果分析
这次实验主要是对图像的灰度变换和直方图均衡化,实验内容包括灰度拉伸、图像反转、图像的二值化以及直方图均衡。通过实验将课本上理论知识加以实践,实验过程中明白了图像处理的一些技巧。但是以上几种方法采用的基本都是线性变换法,在实际应用中存在很多缺陷。它只能处理一些黑白分明的图像,而对于一些颜色丰富或者处理比较复杂图像时,往往于心不足。
实验三: 图像的平滑处理
3.1: 实验目的
1、熟悉并掌握常见的图像噪声种类;
2、理解并掌握常用的图像的平滑技术,如邻域平均法和中值滤波的原理、特点、适用对象。
3.2:实验任务和要求
1、这幅图像,给这幅图像分别加入椒盐噪声、高斯噪声和乘性噪声后并与前一张图显示在同一图像窗口中。
2、对受高斯噪声(模拟均值为0方差为0.02的高斯噪声)干扰的lena图像分别利用邻域平均法和中值滤波进行滤波去噪(窗口可变,可先取3*3,依次再取5*5,7*7),并显示滤波结果。
3、对受椒盐噪声(噪声方差为0.02)干扰的lena图像,选择合适的滤波器将噪声滤除。
4、对受乘性噪声(噪声方差为0.02)干扰的lena图像,选择合适的滤波器将噪声滤除。
3.3:实验步骤和结果
1.对实验任务1的实现代码如下:
>> i=imread('d:');>> i=rgb2gray(i);>> j=imnoise(i,'gaussian',0,0.02);%高斯噪声 >> k=imnoise(i,'salt & pepper',0.02);%椒盐噪声 >> p=imnoise(i,'speckle',0.02);%乘性噪声 >> subplot(2,2,1);imshow(i);>> xlabel('原图');>> subplot(2,2,2);imshow(j);xlabel('高斯噪声');>> subplot(2,2,3);imshow(k);xlabel('椒盐噪声');>> subplot(2,2,4);imshow(p);xlabel('乘性噪声');结果如图3.1所示:
2.对实验任务2的实现代码如下: >> i=imread('d:');>> i=rgb2gray(i);>> j=imnoise(i,'gaussian',0,0.02);>> k=im2double(j);>> h=fspecial('average');>> g1=filter2(h,k,'same');>> g2=medfilt2(k);>> subplot(2,2,1);imshow(1);>> subplot(2,2,1);imshow(i);>> xlabel('原图');>> subplot(2,2,2);imshow(j);>> xlabel('添加高斯噪声');>> subplot(2,2,3);imshow(g1);>> xlabel('均值滤波');>> subplot(2,2,4);imshow(g2);>> xlabel('中指滤波');结果如图3.2所示:
3.对实验任务3的实现代码如下: >> i=imread('d:');>> i=rgb2gray(i);>> j=imnoise(i,'salt & pepper',0.02);>> k=im2double(j);>> h=fspecial('average');>> g1=filter2(h,k,'same');>> g2=medfilt2(k);>> subplot(2,2,1);imshow(i);>> xlabel('原图');>> subplot(2,2,2);imshow(j);>> xlabel('添加椒盐噪声');>> subplot(2,2,3);imshow(g1);>> xlabel('均值滤波');>> subplot(2,2,4);imshow(g2);>> xlabel('中值滤波');结果如图3.3所示:
4.对实验任务4的实现代码如下: >> i=imread('d:');>> i=rgb2gray(i);>> j=imnoise(i,'speckle',0.02);>> k=im2double(j);>> h=fspecial('average');>> g1=filter2(h,k,'same');>> g2=medfilt2(k);>> subplot(2,2,1);imshow(i);>> xlabel('原图');>> subplot(2,2,2);imshow(j);>> xlabel('添加乘性噪声');>> subplot(2,2,3);imshow(g1);>> xlabel('均值滤波');>> subplot(2,2,4);imshow(g2);>> xlabel('中值滤波');结果如图3.4所示:
3.4:结果分析
(1)采用均值滤波器对图像处理能达到去噪的效果,并且一般滤波器的模板越大去噪效果越好,但是应该适中,当模板选择的过大时,处理的效果就会下降,因此我们应该根据具体的要求选择合适的模板来处理图像。
(2)采用高斯滤波器对图像处理能达到去噪的效果,与均值滤波器相同,随着所用的滤波器尺寸的增大,图像的细节锐化程度相应降低图像变得模糊起来。但相较于均值滤波器,其模糊程度较小。但是高斯滤波同时受到标准差 sigma 的影响。
(3)中值滤波对去除“椒盐”噪声可以起到很好的效果,因为椒盐噪声只在画面中的部分点上随机出现,所以根据中值滤波原理可知,通过数据排序的方法,将图像中未被噪声污染的点代替噪声点的值的概率比较大,因此噪声的抑制效果很好。中值滤波与均值滤波相比,在去除图像椒盐噪声的同时,还能够保持图像比较清晰的轮廓。从实验结果可以看出,通过3*3 的均值滤波器,图像中的噪声点有明显的消除。但是 3*3 的非线性模板中值滤波器上对噪声的滤除效果更完美。
实验四:图像的锐化处理
4.1: 实验目的
1、熟悉并掌握matlab图像处理工具箱的使用;
2、理解并掌握常用的图像的锐化技术。
4.2:实验任务和要求
1、采用三种不同算子对图像进行锐化处理。
2、锐化空间滤波
1)采用3×3的拉普拉斯算子w = 滤波
2)编写函数w = genlaplacian(n),自动产生任一奇数尺寸n的拉普拉斯算子,如5×5的拉普拉斯算子:
w =
3)分别采用5×5,9×9,15×15和25×
2g(x,y)f(x,y)f(x,y)完成图像的锐化增强,进行锐化滤波,并利用式观察其有何不同,要求在同一窗口中显示。
4.3:实验步骤和结果
1.对实验任务1的实现代码如下:
>> i=imread('d:');>> i=rgb2gray(i);>> h=fspecial('sobel');>> i1=filter2(h,i);>> h=fspecial('prewitt');>> i2=filter2(h,i);>> h=fspecial('log');>> i3=filter2(h,i);>> subplot(2,2,1);imshow(i);title('原图像');>> subplot(2,2,2);imshow(i1);title('sobel算子锐化图像');>> subplot(2,2,3);imshow(i2);title('prewitt算子锐化图像');>> subplot(2,2,4);imshow(i3);title('log算子锐化图像');结果如图所示:
2.对实验任务2的实现代码如下: 1)
>> i=imread('d:');>> i=rgb2gray(i);>> t=double(i);>> subplot(1,2,1),imshow(t,);>> w=;>> k=conv2(t,w,'same');>> subplot(1,2,2),imshow(k,);>> title('lalacian transformation');结果如图所示:
2)
function w = genlaplacian(n)
w=ones(n);
x=ceil(n/2);
w(x,x)=-1*(n*n-1);
end
3)w1=genlaplcaian(5);
i=imread(‘d:’);t=double(i);k=conv2(t,w1’same’);j=t-k;4.4:结果分析
通过对数字图像进行锐化处理,可以增强图像的边缘,使模糊的图像变得清晰起来,而以上几种方法都能很好的将图像的边缘变得清晰,但是要在不影响图像整体效果的情况下还是比较困难。综上所述,根据不同的情况可以需要选用不同的方法。在边缘检测中,常用的一种模板是sobel 算子。sobel 算子有两个,一个是检测水平边缘的 ;另一个是检测垂直边缘的。与prewitt算子相比,sobel算子对于象素的位置的影响做了加权,可以降低边缘模糊程度,因此效果更好。
数字图像处理总结报告 篇六
数字图像是我们生活中接触最多的图像各类,它伴随人们的生活、学习、工作,并在军事、医学、和工业方面发挥着极大的作用,可谓随处可见,尤其在生活方面作为学生的我们会在外出旅游、生活、工作中拆下许多数字相片,现在已进入信息化时代,图像作为信息的重要载体在信息传输方面有着声音、文字等信息载体不可替代的作用,并且近年来图像处理领域,数字图像处理技术取得了飞速发展,作为计算机类专业的大学生更加有必要对数字图像处理技术有一定的掌握,而大多人对于数字图像的知识却不全面,甚至一些基础知识也很模糊,比如各类繁多的各种图像格式之间的特点,不同的情况该用何种图像格式,还有关于图像的一些基本术语也不甚了解,尤为重要的是对于一些由于拍摄问题导致的令人不甚满意的照片该如何处理,或者如何对一些照片进行处理实现特殊的表现效果。所以对于数字图像处理这门课大家有着极大兴趣,在选课时几乎所有人都选了这门课。其中有的同学由于简单的学习过photoshop软件,因此对于数字图像处理已经有了一些基础,更加想利用这门课的学习加深自己数字图像处理的理解并提高在数字图像处理方面的能力。
字矩阵,但灰度图像和彩色图像的矩阵形式是不同的。对于一些耳熟能详的数字图像相关术语有了明确的认识,比如常见的:像素(衡量图像的大小)、分辨率(衡量图像的清晰程度)、位图(放大后会失真)、矢量图(经过放大不会失真)等大家都能叫上口却知识模糊的名词。也了解图像处理技术中一些常用处理技术的实质,比如锐化处理是使模糊的图像变清晰,增强图像的边缘等细节。而平滑处理是的目的是消除噪声,模糊图像,在提取大目标之前去除小的细节或弥合目标间的缝隙。对常提的rgb图像和灰度图像有了明确的理解,这对大家以后应用photoshop等图像处理软件对图像进行处理打下了坚实的基础。更重要的是学习到了数字图像处理的思想。通过学习也是对c++编程应用的很好的实践与复习。
visualc++软件实现并进行调试,然而大部分人的c++实践能力以及编程能力还有待提高,尤其是对于矩阵进行操作的编程尤为是个考验,并且后半学期课程任务较重,加上队里的事务也很多,时间不是很充裕,这对于需要大量实践的数字图像处理课程就是个很大的问题。
在教员授课方面建议可以在课上多进行具体操作,这样可以提起大家学习的兴趣,也可以让大家在课下积极准备,然后在上课由学员进行演示,还可以加入一些数字图像处理的经典范例,加深同学们的学习热情。
数字图像处理总结报告 篇七
姓名:黄冬芬
学号:070212051
班级:12级通信工程1班
数字图像是我们生活中接触最多的图像种类,他伴随人们的生活、学习、工作,并在军事、工业和医学方面发挥着极大地作用,可谓随处可见,尤其在生活方面作为学生的我们,会在外出旅游,生活和工作中拆下许多数字照片,现在已进入信息化时代,图片作为信息的重要载体,在信息传输方面有着不可替代的作用,并且近年来图像处理领域,数字图像处理技术取得了飞速的发展,作为计算机类专业的大学生更加有必要对数字图像处理技术有一定的掌握,而大多数人对于数字图像的知识也很模糊,比如各类繁多的各种图像格式之间的特点,不同的情况该用何种图像格式,还有关于图像的一些基本术语也不甚了解。尤为重要的是一些由于拍摄问题导致的令人不甚满意的照片该如何处理,或者如何对一些照片进行处理实现特殊的表现效果。所以对于数字图像处理这门课大家有着极大地兴趣。我们班有的同学学过photoshop软件,因此对于数字图像处理有了一些基础,更加想利用这门课的学习加深自己数字图像处理的理解并提高在数字图像处理方面的能力。
通过这8周的学习,我们虽然还没有完全掌握数字图像处理技术,但是收获不少,对于数字图像方面的知识有了更深的了解。更加理解了数字图像处理的本质,即是一些数字矩阵,但灰度图像和彩色图像的矩阵形式是不同的。对于一些耳熟能详的数字图像相关的术语有了明确的认识,比如,常见的像素(衡量图像的大小)、分辨率(衡量图像的清晰程度)、位图(放大后会失真)、矢量图(经过放大不会失真)等大家都能叫上口但都很模糊的名词。也了解图像处理技术中一些常用处理技术的实质,比如锐化处理是使模糊的图像变清晰,增强图片的边缘等细节。而平滑处理的目的是消除噪声、模糊图像,在提取大目标之前去除小的细节或弥合目标间的缝隙。对常见的rgb图像和灰度图像有了明确的理解,这对大家以后应用photoshop等图像处理软件对图像进行处理打下了坚实的基础。更重要的是学习到了数字图像处理的思想。通过学习也是对c++编程应用的很好的实践和复习。
当然通过8周的学习还远远不够,也有许多同学收获甚微,我总结了下大家后期学习的态度与前期学习的热情相差很大的原因。刚开始大家是有很高的热情去学习这门课,可随着这门课的更深入的学习,大家渐渐发现课程讲授内容与自己起初想学的实用图像处理技术是有很大的差别的,大家更着眼于如何利用软件、技术去处理图像而得到满意的效果,或者进行一些图像的创意设计,可是课程的内容更偏向于如何通过编程实现如何多图像进行一些类似锐化、边缘提取、模糊、去除噪声等基础功能的实现,这其中涉及很多算法、函数,需要扎实的数学基础和编程基础,并且需要利用大量时间在课下编写代码,并用visual c++软件实现并进行调试,然而大部分人的c++实践能力和编程能力还有待提高,尤其是对于矩阵进行操作的编程尤为是个考验。
在老师授课方面的建议是可以再课上多进行一些具体操作,这样可以提起大家的学习兴趣,也可以让大家在课下积极准备,然后在课上让学生进行演示,还可以加入一些图像处理的经典范例,加深同学们的学习热情。