图像处理课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《图像处理技术应用实践》课程设计题目图像增强算法综合应用

学生姓名韩帅_______

学号

院系计算机与软件学院

专业计算机科学与技术

范春年____

噪声,不同的去噪方法效果不同,因此应该采用不同的去噪方法以达到最好的去噪效果。?

(2)随机噪声应在空间域去除,而空域去噪方法中,中值滤波法效果最好。?

(3)周期噪声应在频域中消去。?

(4)去除噪声后的图像仍然可以改善处理。?

(5)均方误差评估去噪处理后图像的去噪效果。

2.2算法设计?

(1)读入初始图片及加噪图片。?

clc;?clear;?

f=imread();?

? 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

(4)计算均方误差评估去噪效果。?

[m?n]=size(p);?l=f-p;?

he=sum(sum(l));?

avg=he/(m*n);

?k=l-avg;?

result1=(sum(sum(k.^2)))/(m*n);?

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));

%h=1/(1+(d/d0)^(2*nn)); %备用

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

end

end

p=uint8(real(ifft2(ifftshift(G))));

subplot(341);imshow(f),title('原图');

subplot(345);imshow(log(abs(f2)),[]),title('频谱'); subplot(349);imhist(f),title('原图');

subplot(342);imshow(g),title('噪声');

subplot(346);imshow(log(abs(g2)),[]),title(' ');

subplot(3,4,10);imhist(g),title('噪声');

subplot(343);imshow(g3),title('去随机噪声');

subplot(347);imshow(log(abs(F1)),[]),title(' ');

subplot(3,4,11);imhist(g3),title('去随机噪声');

subplot(344);imshow(p,[]),title('去噪');

subplot(348);imshow(log(abs(G)),[]),title(' ');

subplot(3,4,12);imhist(p),title('去噪');

[m,n]=size(p);

l=f-p;

he=sum(sum(l));

avg=he/(m*n);

k=l-avg;

result1=(sum(sum(k.^2)))/(m*n);

要求:

1、设计一套算法提取源图像中的所有ROI,并计算每一个ROI 的大小(大小为包含多少个像素,如包含20个像素,则大小为20)。

提示:每一个ROI为一个连通集合。

2、撰写完整的科技报告(形式类似科技论文)表述自己的算法设计,算法实现与计算结果。

2、增强分割算法

2.1问题分析

(1)首先题目所给的图为彩色图,应该先将其转化成灰度图,再对其进行处理;

(2)分析题目可知首先要将种子所覆盖的大概区域求出来,可以将种子存在的地方检测出来并用特定灰度标记,方便之后统计像素数;

end

之后开始标记ROI位置,以第一行第一个为例:

for x=40:70 %1

for y=100:150

if(j(x,y)==0)

j2(x,y)=1;

end

end

end

这里的40,70可以先将二值图像和其坐标轴显示出来,记录ROI 所在的大概位置;第一个用1标记;%坐标轴显示可以用axis on指令

按此方法,可以实现37个ROI的标记,用1~37灰度分别标记。

(4)最后显示各个图像和最后像素数的数组

figure(1);

imshow(j2,[]);

figure(2);

Imshow(j);

axis on;

C

2.3算法实现

clear;clc;

I=imread('D:\\seed.bmp'); f=rgb2gray(I);

j=im2bw(f);

k=f;

axis on;

[M,N]=size(k);

for x=1:M

for y=1:N

for y=240:300

if(j(x,y)==0)

k(x,y)=4;

end

end

end

for x=120:155

for y=100:160

if(j(x,y)==0)

k(x,y)=5;

end

k(x,y)=9;

end

end

for y=240:300

if(j(x,y)==0)

k(x,y)=10;

end

end

for y=310:375

if(j(x,y)==0)

k(x,y)=11;

if(j(x,y)==0)

k(x,y)=15;

end

end

end

for x=250:285

for y=100:160

if(j(x,y)==0)

k(x,y)=16;

end

end

相关文档
最新文档