昆明理工大学 数字图像处理 期末报告

更新时间:2024-02-01 03:40:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数字图像处理期末大作业

学 院:信息工程与自动化学院 专业班级: 计科122班 姓 名: 邹华宇 学 号: 201210405204 联系电话: 18314571174 指导老师: 刘辉 提交时间: 2015年6月15日

用自己拍摄的图像,完成以下作业:

作业一、MATLAB图像处理基本操作

一、实验目的

掌握MATLAB语言中图象数据与信息的读取方法; 掌握图像灰度调整。

二、实验要求

用Matlab语言完成如下实验: 1)打开一个BMP文件

2)将其局部区域的灰度值进行改变 3)另存为一个新的BMP文件

三、程序源代码

clear all;

I=imread('lab1.bmp'); %读入原图像 subplot(1,2,1);

imshow(I); %显示原始图像 title('原始BMP图像');

J=imadjust(I,[0.3,0.7],[]); %调整图像灰度值 imwrite(J,'newlab1.bmp'); %另存为新图像 subplot(1,2,2);

imshow(J); %显示局部灰度改变后的图像 title('局部灰度改变后的图像');

四、实验结果

五、实验总结

通过本次实验,我学习了使用MATLAB进行图像的读入读出操作,以及对图像选中区域的灰度进行改变。初步熟悉了MATLAB工具软件对图像处理的应用。

作业二、图像高通、低通滤波

一、实验目的

学会用Matlab软件对图像傅里叶变换。

对图像进行低、高通滤波,观察频谱和图像变化。

二、实验内容

Matlab编程实现图像傅立叶高通、低通滤波,给出算法原理及实验结果。

三、实验原理

低通滤波器:容许低频信号通过,但减弱(或减少)频率高於截止频率的信号的通过。用在绘制长期走势或均化。

高通滤波器:容许高频信号通过、但减弱(或减少)频率低於截止频率信号通过的滤波器。强调细节。

四、程序源代码

1)傅里叶高通滤波: 源程序为:

clear all;

I=imread('lab2.jpg'); I=rgb2gray(I); figure(1),imshow(I); title('原图像'); s=fftshift(fft2(I)); [a,b]=size(s); a0=round(a/2); b0=round(b/2); d=10; p=0.2;q=0.5; for i=1:a for j=1:b

distance=sqrt((i-a0)^2+(j-b0)^2); if distance<=d h=0;

else h=1; end;

s(i,j)=(p+q*h)*s(i,j); end; end;

s=uint8(real(ifft2(ifftshift(s)))); figure(2);

imshow(s);title('高通滤波所得图像');

2)傅里叶低通滤波: 源程序为:

clear all;

I=imread('lab2.jpg'); I=rgb2gray(I); figure(1),imshow(I); title('原图像'); s=fftshift(fft2(I)); [a,b]=size(s); a0=round(a/2); b0=round(b/2); d=10; for i=1:a for j=1:b

distance=sqrt((i-a0)^2+(j-b0)^2); if distance<=d h=1; else h=0; end;

s(i,j)=h*s(i,j); end; end;

s=uint8(real(ifft2(ifftshift(s)))); figure(2); imshow(s);

title('低通滤波所得图像');

五、实验结果

六、实验总结

通过这次实验,我熟悉了MATLAB编程结构,学会使用MATLAB提供的库函数进行图像傅里叶变化。低通滤波后,图像变得模糊,平滑,高通滤波后边缘细节很明显。

作业三、图像直方图均衡化

一、实验目的

通过用Matlab仿真,掌握直方图均衡化的原理及步骤,了解均衡化对图像效果的影响。

二、实验内容

找一幅曝光不足的灰度(或彩色)图像(MATLAB目录及上课课件中也有),用Matlab按照直方图均衡化的方法进行处理。

三、程序源代码

clc; clear;

PS=rgb2gray(imread('lab3.jpg')); subplot(2,2,1)

imshow(PS) title('曝光不足的图像') %绘制直方图

[m,n]=size(PS); P=zeros(1,256); %预创建存放灰度出现概率的向量 for i=1:256

P(i)=length(find(PS==(i-1)))/(m*n); %计算灰度概率,存入GP相应位置 end

subplot(2,2,2)

bar(0:255,P,'g') %绘制直方图 title('原图像直方图') xlabel('灰度值') ylabel('出现概率') %直方图均衡化 S1=zeros(1,256); for i=1:256 for j=1:i

S1(i)=P(j)+S1(i); %计算Sk end end

S2=round(S1*255); %将Sk归到相近级的灰度 for i=1:256

P1(i)=sum(P(find(S2==i))); %计算现有每个灰度级出现的概率

end

subplot(2,2,4)

bar(0:255,P1,'b') %显示均衡化后的直方图 title('均衡化后的直方图') xlabel('灰度值') ylabel('出现概率') %图像均衡化 PA=PS; for i=0:255

PA(find(PS==i))=S2(i+1); %将各个像素归一化后的灰度值赋给这个像素 end

subplot(2,2,3)

imshow(PA) %显示均衡化后的图像 title('均衡化后图像')

四、实验结果

五、实验总结

1.均衡化后直方图与之前相比,灰度范围更大,分散得更均匀; 2.灰度图像得亮度明显增强,对比度有所提高。

作业四、MATLAB实现图像平滑

一、实验目的

掌握图像加噪方法,并能在空间域中利用各种滤波算法对图像进行平滑,并能比较各种滤波性能。

二、实验内容

用Matlab打开一幅图像,添加椒盐、高斯噪声,然后使用邻域平均法、中值滤波法进行平滑。

三、程序源代码

clc; clear;

%打开一幅图像,添加高斯、椒盐噪声,用邻域平均法、中值滤波法和K邻近平均法处理。 %1.对图像添加高斯、椒盐噪声; I=rgb2gray(imread('lab4.jpg')); figure(1);

subplot(1,3,1);imshow(I);title('(a)原始图像');

P1=imnoise(I,'gaussian',0.06); %加入高斯噪声 subplot(1,3,2);imshow(P1);title('(b)高斯噪声污染的图片');

P2=imnoise(I,'salt & pepper',0.1); %加入椒盐噪声 subplot(1,3,3);imshow(P2);title('(c)椒盐噪声污染的图片');

%2.对图像进行均值滤波

L1=filter2(fspecial('average',3),P1)/255; %应用3*3窗的邻域平均滤波 figure(2);

subplot(1,2,1);imshow(L1); title('邻域平均法处理高斯噪声图片'); L2=filter2(fspecial('average',3),P2)/255; %应用3*3窗的邻域平均滤波 figure(2);

subplot(1,2,2);imshow(L2); title('邻域平均法处理椒盐噪声图片');

%3.对图像进行中值滤波

K1=medfilt2(P1); %应用缺省的3*3的邻域窗的中值滤波

figure(3);

subplot(1,2,1);imshow(K1,[]);title('中值滤波法处理高斯噪声图片'); K2=medfilt2(P2);

subplot(1,2,2);imshow(K2,[]);title('中值滤波法处理椒盐噪声图片');

四、实验结果

五、实验总结

对含有同一种噪声类型的不同图像采用2种滤波方法进行分析可知:原始图像经过邻域平均法滤波处理后,噪声得到了抑制,但也使图像边缘变得模糊;中值滤波方法运算简单,易于实现,能较好地保护图像边界,但有时会失掉图像中的细线和小块的目标区域。对含有不同噪声类型的同一图像采用这2种滤波方法进行处理后,分析可知:邻域平均滤波方法对高斯噪声有较强的抑制效果,对椒盐噪声抑制效果不明显;中值滤波方法对高斯噪声的抑制效果不明显,对去除椒盐噪声效果明显。

对于椒盐噪声,中值滤波比均值滤波效果好。对于高斯噪声均值滤波比中值滤波效果好。基本掌握了基本加噪方法及平滑处理。

作业五、MATLAB实现图像锐化

一、实验目的

掌握多种图像锐化方法,并能比较锐化性能。

二、实验内容

用Matlab打开一幅图像,用Roberts梯度法、Sobel算子和拉普拉斯算子进行锐化,并比较结果。

三、程序源代码

clc; clear;

%打开一幅图像,利用Roberts梯度法、Sobel算子和拉普拉斯算子进行锐化,并比较结果。

%Roberts梯度法锐化

I=rgb2gray(imread('lab5.jpg')); figure(1);

subplot(1,2,1);imshow(I);title('原始图像'); J=double(I);

[IX,IY]=gradient(J); %计算梯度 A=sqrt(IX.*IX+IY.*IY);

subplot(1,2,2);imshow(A,[]);title('Roberts梯度法锐化图像'); %Sobel算子锐化

S=imfilter(I,fspecial('sobel')); figure(2);

subplot(1,2,1);imshow(S);title('Sobel算子锐化图像'); %laplacian算子锐化

LP=imfilter(I,fspecial('laplacian'));

subplot(1,2,2);imshow(LP);title('Laplacian算子锐化图像');

四、实验结果

五、实验总结

锐化的实质是:锐化图像g(m,n) = 原图像f(m,n) + 加重的边缘(α*微分)由实验效果对比图可以看出Sobel算子处理图像后使边缘有一定的模糊。拉普拉斯检测模板的特点是各向同性,对孤立点及线端的检测效果好,但边缘方向信息丢失,对噪声敏感,整体检测效果不如Roberts梯度算子。

综述:Robet算子锐化效果较明显,Sobel算子锐化后的边缘显得粗而亮,拉普拉斯算子使噪声也增强,锐化不明显。通过本实验,我学会了利用不同算子对图像进行锐化处理。

本文来源:https://www.bwwdw.com/article/cbhw.html

Top