当前位置:文档之家› 数字图像处理实验报告

数字图像处理实验报告

-院系:计算机科学学院专业:计算机科学与技术年级: 2012级课程名称:数字图像处理组号:姓名(学号):指导教师:高志荣2015年 5月 25日实验原理(算法流程)2.运行结果1-1-1图查看2012213500.png图片的基本信息和显示图片过程1-1-2图将2012213500.png图片保存为2012213500.bmp图片3.实验分析实验原理(算法流程)先用imread()函数将2012213500.png存入I数组中,可见1-1-1图右上角的Workspace中的I。

然后用imfinfo()函数和ans函数读取该图像的大小、类型等信息,具体在1-1-1图的Command Window中可见。

至于图片格式的转换,就是用rgb2gray()函数将保存在I数组中的数据转换成灰度格式保存在原来的数组I中。

最后将变换所得到的数据保存于2012213500.bmp文件中。

实验(2):1.代码实现I=imread(2012213500.bmp');%读取灰度图片subplot(221),imshow(I,[]),title('256*256,256')I=I(1:2:end,1:2:end);%图片采样subplot(222),imshow(I,[]),title('128*128,256')I=I(1:2:end,1:2:end);%图片采样subplot(223),imshow(I,[]),title('64*64,256')I=I(1:2:end,1:2:end);%图片采样subplot(224),imshow(I,[]),title('32*32,256')2.运行结果1-2 图图片空间分辨率对图片的影响3.实验分析由1-2图可以看出,在保持灰度级数一定的条件下,随着图片空间分辨率的减半,即256*256,128*128,64*64,32*32的图像,图中的各个区域边缘处的棋盘模式越来越明显,并且全图的像素颗粒越来越粗。

证明了空间分辨率是影响图片清晰度的因素之一。

实验(3):1.代码实现I=imread('2012213500.bmp');%读取灰度图片subplot(221),imshow(I,256),title('256*256,256')%灰度级为256subplot(222),imshow(I,50),title('256*256,50') %灰度级为50subplot(223),imshow(I,10),title('256*256,10') %灰度级为10subplot(224),imshow(I,5),title('256*256,5') %灰度级为5实验原理(算法流程)2-1图图像求反、线性灰度变换、对数变换效果对比3.实验分析上图中的四幅图片从左到右,从上到下分别是原图、图像求反效果图、图像线性灰度变换效果图、图像对数变换效果图。

从上图可看出,原图像与求反图像之间存在很大差异,而求反的操作就是I=256-1-I这条语句实现的,图像可以说是由黑变白。

线性灰度变换图像的效果和原图最接近,其主要是将图像灰度级拉伸,增强对比度,将不需要的细节灰度级压缩,所以线性变换图像看起来比原图相对清楚、明亮。

而对数是对原图像进行动态范围的的压缩,因此图片的细节可见程度相对明显。

实验(2):1.代码实现I=imread('mandi.tif');subplot(221),imshow(I),title('原图和其直方图');subplot(222),imhist(I); %显示图像直方图I1=histeq(I); %对图像进行直方图均衡化处理subplot(223),imshow(I1),title('直方图均衡化后的图和其直方图');subplot(224),imhist(I1); %显示直方图均衡化后的图和其直方图实验原理(算法流程)2-2图图片直方图均衡处理效果图和直方图3.实验分析由2-2图的直方图均衡处理效果图及其直方图的比较我们可以很容易发现。

原图的直方图的灰度值相对集中靠左,所以看原图的效果显得相对较暗,而且动态范围偏小,对比度很低。

通过直方图均衡化后的,图像的直方图显示相对平均,而且动态范围也变大了。

其主要思想就是通过把原来不均衡的直方图变换为均衡的分布形式,来增强灰度的动态范围,从而达到增强图像整体对比度的效果。

实验(3):1.代码实现f=imread('onion.png');f=rgb2gray(f); %把彩色图像转换为灰度图像[M,N]=size(f);ff1=zeros(M,N);for i=1:18ff(:,:,i)=imnoise(f,'gaussian',0,0.02);%添加噪声实验原理(算法流程)ff1=ff1+double(ff(:,:,i));if or(or(i==1,i==3),or(i==9,i==18));figure;imshow(uint8(ff1/i));endend2.运行结果2-3图图像相加求平均去噪效果图3.实验分析该实验目的主要是验证通过图像加法求平均能否达到减少噪声,即图像增强功能。

上图分别先通过随机高斯噪声处理后,再分别进行1,3,9,18的图像相加求平均,最后得到上图结果。

上图,从左至右,从上至下,分别为1,3,9,18求平均。

通过图像处理后效果的比较,我们可以得出,相加并求平均的图像数越多,图像去噪增强的效果越明显实验(4):1.代码实现I=imread('eight.tif');subplot(231),imshow(I);title('原图');J=imnoise(I,'gaussian',0,0.01);subplot(232),imshow(J);title('随机噪声图像');实验原理(算法流程)subplot(232),imshow(J);title('随机噪声图像');K=medfilt2(I,[9,9]);%进行9X9模板中值滤波subplot(233),imshow(K);title('9X9模板中值滤波图');S=fspecial('sobel'); %应用sobel算子锐化图像I2=filter2(S,I); %sobel算子滤波锐化subplot(234),imshow(I2);title('sobel算子锐化图像');H=fspecial('prewitt'); %应用prewitt算子锐化图像I3=filter2(H,I); %prewitt算子滤波锐化subplot(235),imshow(I3);title('prewitt算子锐化图像'); %显示prewitt算子锐化图像2.运行结果2-4图图像中值滤波、sobel滤波、prewitt滤波效果图3.实验分析2-4图通过相对原图加上随机高斯噪声处理后在分别进行中值滤波、sobel滤波、prewitt滤波处理,得到上面相关过效果图。

从上图很直观的可以看出中值滤波的效果最好。

而sobel滤波、prewitt滤波处理后,边缘模糊现象很严重。

对于中值滤波,其在一定的条件下可以克服线性滤波带来的图像细节模糊问题。

而该实验采用的是9x9的实验原理(算法流程)gg=ifftshift(gg);gg=uint8(real(ifft2(gg)));subplot(224);imshow(gg);title('巴特沃特高通滤波图');%显示巴特沃特高通滤波图2.运行结果2-5图图像的理想低通滤波和巴特沃斯高通滤波效果图3.实验分析该实验室将理想的低通滤波与巴特沃特高通滤波效果进行对比。

正如2-5图所示,上面一行的为真彩色图和其经转换的灰度图,下面为经过滤波的效果图。

从效果看,理想的低通滤波要比巴特沃特高通滤波效果好。

然而理想的低通滤波在处理过程中产生了比较严重的模糊现象。

而经过巴特沃特高通滤波后区域边界有了明显的增强,灰度动态范围变小,但是整个图的暗度变高了很多。

实验原理(算法流程)MF=imfilter(C,PSF,'circular','conv'); %用PSF产生退化图像subplot(232);imshow(MF);title('运动模糊图');%显示模糊后的运动图像MFN=imnoise(MF,'gaussian',0,0.0000001);%加高斯噪声subplot(233);imshow(MFN);title('加高斯噪声图');%显示高斯噪声图像noise=imnoise(zeros(size(C)),'gaussian',0,0.8);NSR=sum(noise(:).^2)/sum(MFN(:).^2);%计算信噪比subplot(234);imshow(deconvwnr(MFN,PSF));title('逆滤波复原图'); subplot(235);imshow(deconvwnr(MFN,PSF,NSR));title('维纳滤波复原图'); subplot(236);imshow(deconvreg(MFN,PSF,4));title('最小二乘方滤波复原图');2.运行结果3-1图图像的逆滤波、维纳滤波、最小二乘方滤波图实验原理(算法流程)3.实验分析实验前,现将一副灰度图片进行运动模糊处理,然后加上随机高斯噪声。

随后进行逆滤波、维纳滤波、最小二乘方滤波处理。

由上面各个图的效果可以看出,维纳滤波和最小二乘方滤波对噪声和运动模糊有相当的好的过滤效果。

而逆滤波则出现较多的杂色。

实验(2):1.代码实现C=imread('2012213500.png');C=rgb2gray(C);subplot(231);imshow(C);title('灰度原图');%运动模糊处理LEN=30; %设置运动位移为30像素THETA=45; %设置运动角度PSF=fspecial('motion',LEN,THETA); %建立二维仿真线性运动滤波器PSFMF=imfilter(C,PSF,'circular','conv'); %用PSF产生退化图像subplot(232);imshow(MF);title('运动模糊图');%显示模糊后的运动图像MFN=imnoise(MF,'gaussian',0,0.001);%加高斯噪声subplot(233);imshow(MFN);title('加高斯噪声图');%显示高斯噪声图像noise=imnoise(zeros(size(C)),'gaussian',0,0.3);NSR=sum(noise(:).^2)/sum(MFN(:).^2);%计算信噪比subplot(234);imshow(deconvwnr(MFN,PSF));title('逆滤波复原图');subplot(235);imshow(deconvwnr(MFN,PSF,NSR));title('维纳滤波复原图');subplot(236);imshow(deconvreg(MFN,PSF,4));title('最小二乘方滤波复原图');2.运行结果3-2-1图高斯参数的设置(0.001,0.3)实验原理(算法流程)3-2-1图高斯参数的设置(0.000001,0.9)3.实验分析由上面的两个高斯参数可以看出,噪声对以上三种滤波的方式影响很大。

相关主题