图像处理课程设计报告书.docx

上传人:b****1 文档编号:2837122 上传时间:2023-05-04 格式:DOCX 页数:23 大小:1.37MB
下载 相关 举报
图像处理课程设计报告书.docx_第1页
第1页 / 共23页
图像处理课程设计报告书.docx_第2页
第2页 / 共23页
图像处理课程设计报告书.docx_第3页
第3页 / 共23页
图像处理课程设计报告书.docx_第4页
第4页 / 共23页
图像处理课程设计报告书.docx_第5页
第5页 / 共23页
图像处理课程设计报告书.docx_第6页
第6页 / 共23页
图像处理课程设计报告书.docx_第7页
第7页 / 共23页
图像处理课程设计报告书.docx_第8页
第8页 / 共23页
图像处理课程设计报告书.docx_第9页
第9页 / 共23页
图像处理课程设计报告书.docx_第10页
第10页 / 共23页
图像处理课程设计报告书.docx_第11页
第11页 / 共23页
图像处理课程设计报告书.docx_第12页
第12页 / 共23页
图像处理课程设计报告书.docx_第13页
第13页 / 共23页
图像处理课程设计报告书.docx_第14页
第14页 / 共23页
图像处理课程设计报告书.docx_第15页
第15页 / 共23页
图像处理课程设计报告书.docx_第16页
第16页 / 共23页
图像处理课程设计报告书.docx_第17页
第17页 / 共23页
图像处理课程设计报告书.docx_第18页
第18页 / 共23页
图像处理课程设计报告书.docx_第19页
第19页 / 共23页
图像处理课程设计报告书.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

图像处理课程设计报告书.docx

《图像处理课程设计报告书.docx》由会员分享,可在线阅读,更多相关《图像处理课程设计报告书.docx(23页珍藏版)》请在冰点文库上搜索。

图像处理课程设计报告书.docx

图像处理课程设计报告书

 

 

《图像处理技术应用实践》课程设计

题目图像增强算法综合应用

学生帅_______

学号___

院系计算机与软件学院

专业计算机科学与技术

任课教师春年____

 

二O一七年五月

图像处理技术应用实践—课程设计2

1、设计容

图像增强处理:

设计一套空间域与频率域结合的图像增强算法,处理以下任一组图片中的带噪声图像,去除噪声,提高图像质量。

(1)已知:

噪声为随机噪声和周期噪声混合噪声;

(2)要求:

a)去噪处理后,计算均方误差评估去噪处理后图像的去噪效果

b)撰写完整的科技报告(形式类似科技论文)表述自己的算法设计,算法实现与算法评估过程。

第一组图片:

第二组图片:

2、图像增强算法

2.1问题分析 

(1)图片中加入了随机噪声和周期噪声混合噪声。

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

 

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

 

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

 

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

 

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

2.2算法设计 

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

 

clc; clear; 

f=imread(); 

g=imread(); 

(2) 利用空域滤波,去除随机噪声,此时用中值滤波法,并显示它的频谱图和直方图。

 

g=medfilt2(g,[3,3]);

(3)利用频域滤波,去除周期噪声。

先转化成double型,进行傅里叶变换,再转化成数据矩阵,最后利用低通滤波去除周期噪声。

G=double(g);%转化double

G=fft2(G);

G=fftshift(G);

[M,N]=size(G);

nn=2;

d0=25;

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

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

if result1==0 

   disp('dog图均方误差');     result2=0 else 

disp('dog图均方误差'); 

result2=sqrt(result1) 

end

3、算法实现

clear;clc;

f=imread('C:

\dogOriginal.bmp');

g=imread('C:

\dogDistorted.bmp');

f1=double(f);

f2=fft2(f1);

f2=fftshift(f2);

g1=double(g);

g2=fft2(g1);

g2=fftshift(g2);

g3=medfilt2(g,[3,3]);%3*3模板中值滤波去除随机噪声

g4=double(g3);

F1=fft2(g3);

F1=fftshift(F1);

G=F1;

[M,N]=size(G);%低通滤波

nn=2;

d0=25;

m=fix(M/2);

n=fix(N/2);

fori=1:

M

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

ifresult1==0

disp('dog图均方误差'),result2=0

else

disp('dog图均方误差'),result2=sqrt(result1)

end

4、运行结果

 

5、认识分析

去噪后图像模糊,同时尝试了直方图均衡化,效果并不理想;d0根据误差调整方便简单;中值滤波简单好用√

 

参考文献:

 

[1]全红艳、桂涛,数字图像处理原理与实现方法,机械工业,2013

[2]胡晓军、徐飞,MATLAB应用图像处理,2010

 

图像处理技术应用实践—课程设计3

1、设计容

图像增强分割:

有一幅包含不同大小的种子图案的扫描图像(如下图所示),每个包含了种子的图像区域称之为感兴趣区域(regionsofinterest—ROI)。

要求:

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

提示:

每一个ROI为一个连通集合。

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

 

2、增强分割算法

2.1问题分析

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

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

(3)要检测位置在灰度图中很难实现,可以将图像二值化,在二值化图像中值为0的地方进行标记。

2.2算法设计

(1)读图并灰度和二值化:

clear;clc;

I=imread('D:

\seed.bmp');

f=rgb2gray(I);

j=im2bw(f);j2=f;

(2)检测ROI位置并标记:

首先建立一个白板:

[M,N]=size(j2);

forx=1:

M

fory=1:

N

j2(x,y)=255;

end

end

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

forx=40:

70%1

fory=100:

150

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

j2(x,y)=1;

end

end

end

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

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

(3)统计像素数:

A=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37];

C=hist(A(:

),unique(A));

forx=1:

M

fory=1:

N

fori=1:

37

ifj2(x,y)==A(i)

C(i)=C(i)+1;

end

end

end

End

C数组即储存A中像素个数

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

figure

(1);

imshow(j2,[]);

figure

(2);

Imshow(j);

axison;

C

2.3算法实现

clear;clc;

I=imread('D:

\\seed.bmp');

f=rgb2gray(I);

j=im2bw(f);

k=f;

axison;

[M,N]=size(k);

forx=1:

M

fory=1:

N

k(x,y)=255;

end

end

%第一行

forx=40:

70

fory=100:

150

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

k(x,y)=1;

end

end

end

%第二行

forx=80:

110

fory=100:

160

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

k(x,y)=2;

end

end

fory=180:

230

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

k(x,y)=3;

end

end

fory=240:

300

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

k(x,y)=4;

end

end

end

forx=120:

155

fory=100:

160

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

k(x,y)=5;

end

end

fory=180:

230

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

k(x,y)=6;

end

end

fory=240:

300

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

k(x,y)=7;

end

end

end

forx=160:

200

fory=100:

160

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

k(x,y)=8;

end

end

fory=180:

230

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

k(x,y)=9;

end

end

fory=240:

300

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

k(x,y)=10;

end

end

fory=310:

375

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

k(x,y)=11;

end

end

end

forx=205:

240

fory=100:

160

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

k(x,y)=12;

end

end

fory=180:

230

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

k(x,y)=13;

end

end

fory=240:

300

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

k(x,y)=14;

end

end

fory=310:

375

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

k(x,y)=15;

end

end

end

forx=250:

285

fory=100:

160

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

k(x,y)=16;

end

end

fory=180:

230

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

k(x,y)=17;

end

end

fory=240:

300

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

k(x,y)=18;

end

end

fory=310:

375

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

k(x,y)=19;

end

end

end

forx=290:

328

fory=100:

160

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

k(x,y)=20;

end

end

fory=180:

230

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

k(x,y)=21;

end

end

fory=240:

300

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

k(x,y)=22;

end

end

fory=310:

375

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

k(x,y)=23;

end

end

end

forx=335:

370

fory=100:

160

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

k(x,y)=24;

end

end

fory=180:

230

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

k(x,y)=25;

end

end

fory=240:

300

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

k(x,y)=26;

end

end

fory=310:

375

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

k(x,y)=27;

end

end

end

forx=375:

415

fory=100:

160

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

k(x,y)=28;

end

end

fory=180:

230

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

k(x,y)=29;

end

end

fory=240:

300

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

k(x,y)=30;

end

end

fory=310:

375

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

k(x,y)=31;

end

end

fory=400:

440

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

k(x,y)=32;

end

end

end

forx=420:

450

fory=100:

160

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

k(x,y)=33;

end

end

fory=180:

230

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

k(x,y)=34;

end

end

fory=240:

300

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

k(x,y)=35;

end

end

fory=320:

375

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

k(x,y)=36;

end

end

fory=400:

440

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

k(x,y)=37;

end

end

end

A=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37];

C=hist(A(:

),unique(A));

forx=1:

M

fory=1:

N

fori=1:

37

ifk(x,y)==A(i)

C(i)=C(i)+1;

end

end

end

end

figure

(1);

imshow(k,[]);

figure

(2);

imshow(j);

C

灰度图像

二值化图像(带坐标)

标记ROI后的图像

统计的像素数

3、认识分析 

标记ROI位置的时候要尽量精确,否则会有几像素值的误差,甚至还会标记到不必要的地方;最后基本达到要求。

参考文献:

 

[1]全红艳、桂涛,数字图像处理原理与实现方法,机械工业,2013

[2]胡晓军、徐飞,MATLAB应用图像处理,2010

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2