数字图像采集与处理作业范文.docx

上传人:b****8 文档编号:29925998 上传时间:2023-08-03 格式:DOCX 页数:13 大小:1,006.64KB
下载 相关 举报
数字图像采集与处理作业范文.docx_第1页
第1页 / 共13页
数字图像采集与处理作业范文.docx_第2页
第2页 / 共13页
数字图像采集与处理作业范文.docx_第3页
第3页 / 共13页
数字图像采集与处理作业范文.docx_第4页
第4页 / 共13页
数字图像采集与处理作业范文.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

数字图像采集与处理作业范文.docx

《数字图像采集与处理作业范文.docx》由会员分享,可在线阅读,更多相关《数字图像采集与处理作业范文.docx(13页珍藏版)》请在冰豆网上搜索。

数字图像采集与处理作业范文.docx

数字图像采集与处理作业范文

1.用Matlab语言完成如下实验:

1)打开一个BMP文件

2)将其局部区域的灰度值进行改变

3)另存为一个新的BMP文件

pic1=imread('get.bmp');

[m,n]=size(pic1);

f=pic1(50:

300,50:

300);

pic2=imadjust(f,[0.50.75],[]);

pic3=pic1;

pic3(50:

300,50:

300)=pic2;

imshow(pic1),figure,imshow(pic3)

(1)原图像

(2)局部灰度改变后的图像

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

原图像

(1)高通滤波

I=imread('get.bmp');

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;

fori=1:

a

forj=1:

b

distance=sqrt((i-a0)^2+(j-b0)^2);

ifdistance<=dh=0;

elseh=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)低通滤波

I=imread('get.bmp');

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;

fori=1:

a

forj=1:

b

distance=sqrt((i-a0)^2+(j-b0)^2);

ifdistance<=dh=1;

elseh=0;

end;

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

end;

end;

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

figure

(2);

imshow(s);

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

3.找一幅曝光不足的灰度(或彩色)图像,用Matlab按照直方图均衡化的方法进行处理。

clearall

%一,图像的预处理,读入彩色图像将其灰度化

PS=imread('get.BMP');           %读入BMP彩色图像文件

imshow(PS)                  %显示出来 figureNO1        

title('输入的彩色BMP图像')

imwrite(rgb2gray(PS),'PicSampleGray.bmp');   %将彩色图片灰度化并保存

PS=rgb2gray(PS);                %灰度化后的数据存入数组

figure,imshow(PS)           %显示灰度化后的图像,也是均衡化前的样品figureNO2

title('灰度化后的图像')

%二,绘制直方图

[m,n]=size(PS);                %测量图像尺寸参数

GP=zeros(1,256);                %预创建存放灰度出现概率的向量

fork=0:

255

GP(k+1)=length(find(PS==k))/(m*n);  %计算每级灰度出现的概率,将其存入GP中相应位置

end

figure,bar(0:

255,GP,'g')        %绘制直方图figureNO3

title('原图像直方图')

xlabel('灰度值')

ylabel('出现概率')

%三,直方图均衡化

S1=zeros(1,256);

fori=1:

256

forj=1:

i

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

end

end

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

fori=1:

256

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

figure,bar(0:

255,GPeq,'b')          %显示均衡化后的直方图figureNO4

title('均衡化后的直方图')

xlabel('灰度值')

ylabel('出现概率')

figure,plot(0:

255,S2,'r')           %显示灰度变化曲线figureNO5

legend('灰度变化曲线')

xlabel('原图像灰度级')

ylabel('均衡化后灰度级')

%四,图像均衡化

PA=PS;

fori=0:

255

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

end

figure,imshow(PA)        %显示均衡化后的图像figureNO6

title('均衡化后图像')

imwrite(PA,'PicEqual.bmp');

(1)输入的彩色BMP图像

(2)均衡化后的BMP图像

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

(4种结果,比较哪种方法适合滤除哪种噪声)

(1)添加椒盐噪声的图像

(2)采用邻域平均法处理

I0=imread('get.bmp');

I=rgb2gray(I0);

J=imnoise(I,'salt&pepper',0.02);

K1=filter2(fspecial('average',7),J);

K2=filter2(fspecial('average',9),J);

figure,imshow(uint8(K1));title('7x7');

(3)采用中值滤波法处理

I0=imread('get.bmp');

I=rgb2gray(I0)

J=imnoise(I,'salt&pepper',0.02);

K=medfilt2(J,[77]);

figure,imshow(K);title('7x7');

(4)添加高斯噪声的图像

(5)采用邻域平均法处理

I0=imread('get.bmp');

I=rgb2gray(I0);

J=imnoise(I,'gaussian',0,0.02)

K=filter2(fspecial('average',7),J);

figure,imshow(uint8(K));title('7x7');

(6)采用中值滤波法处理后的图像

I0=imread('get.bmp');

I=rgb2gray(I0)

J=imnoise(I,'gaussian',0.02);

K=medfilt2(J,[77]);

figure,imshow(K);title('7x7');

 对含有同一种噪声类型的不同图像采用2种滤波方法进行分析可知:

原始图像经过邻域平均法滤波处理后,噪声得到了抑制,但也使图像边缘变得模糊;中值滤波方法运算简单,易于实现,能较好地保护图像边界,但有时会失掉图像中的细线和小块的目标区域。

对含有不同噪声类型的同一图像采用这2种滤波方法进行处理后,分析可知:

邻域平均滤波方法对高斯噪声有较强的抑制效果,对椒盐噪声抑制效果不明显;中值滤波方法对高斯噪声的抑制效果不明显,对去除椒盐噪声效果明显。

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

(1)Roberts梯度法

I=imread('get.bmp');

[H,W]=size(I);

M=double(I);

J=M;

fori=1:

H-1

forj=1:

W-1

J(i,j)=abs(M(i,j)-M(i+1,j+1))+abs(M(i+1,j)-M(i,j+1));

end;

end;

figure;imshow(I);title('原图');

figure;imshow(uint8(J));title('Roberts处理后');

(2)Sobel算子

I=imread('get.bmp');

[H,W]=size(I);

M=double(I);

J=M;

fori=2:

H-1

forj=2:

W-1J(i,j)=abs(M(i-1,j+1)-M(i-1,j-1)+2*M(i,j+1)-2*M(i,j-1)+M(i+1,j+1)-M(i+1,j-1))+abs(M(i-1,j-1)-M(i+1,j-1)+2*M(i-1,j)-2*M(i+1,j)+M(i-1,j+1)-M(i+1,j+1));

end;

end;

figure;imshow(I);title('原图');

figure;imshow(uint8(J));title('Sobel处理后');

(3)拉普拉斯算子

I=imread('get.bmp');

[H,W]=size(I);

M=double(I);

J=M;

fori=2:

H-1

forj=2:

W-1

J(i,j)=4*M(i,j)-[M(i+1,j)+M(i-1,j)+M(i,j+1)+M(i,j-1)];

end;

end;

figure;imshow(I);title('原图');

figure;imshow(uint8(J));title('锐化处理后的图');

锐化的实质是:

锐化图像g(m,n)=原图像f(m,n)+加重的边缘(α*微分)由实验效果对比图可以看出Sobel算子处理图像后使边缘有一定的模糊。

Laplacian检测模板的特点是各向同性,对孤立点及线端的检测效果好,但边缘方向信息丢失,对噪声敏感,整体检测效果不如Roberts梯度算子。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1