图像处理课程设计

  • 格式:doc
  • 大小:1.41 MB
  • 文档页数:19

《图像处理技术应用实践》课程设计题目图像增强算法综合应用学生姓名韩帅_______学号20151308088___院系计算机与软件学院专业计算机科学与技术任课教师范春年____二O一七年五月图像处理技术应用实践—课程设计21、设计内容图像增强处理:设计一套空间域与频率域结合得图像增强算法,处理以下任一组图片中得带噪声图像,去除噪声,提高图像质量。

(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);%转化doubleG=fft2(G);G=fftshift(G);[M,N]=size(G);nn=2;d0=25;m=fix(m/2);n =fix(n/2);for i = 1 : Mfor j = 1 :Nd= sqrt((i—m)^2+(j—n)^2);ﻩh = 1/(1+0、414*(d/d0)^(2*nn)); % 计算低通滤波器传递函数result(i,j) = h * G(i,j);endend(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==0disp(’dog图均方误差'); result2=0 elsedisp('dog图均方误差');result2=sqrt(result1)end3、算法实现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:Mfor j=1:Nd=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);endendp=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);if result1==0disp(’dog图均方误差'),result2=0elsedisp(’dog图均方误差’),result2=sqrt(result1)end4、运行结果5、认识分析去噪后图像模糊,同时尝试了直方图均衡化,效果并不理想;d0根据误差调整方便简单;中值滤波简单好用√参考文献:[1]全红艳、曹桂涛,数字图像处理原理与实现方法,机械工业出版社,2013[2]胡晓军、徐飞,MATLAB应用图像处理,2010图像处理技术应用实践—课程设计31、设计内容图像增强分割:有一幅包含不同大小得种子图案得扫描图像(如下图所示),每个包含了种子得图像区域称之为感兴趣区域(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:Mfor y=1:Nj2(x,y)=255;endend之后开始标记ROI位置,以第一行第一个为例:for x=40:70%1fory=100:150if(j(x,y)==0)j2(x,y)=1;endendend这里得40,70可以先将二值图像与其坐标轴显示出来,记录ROI所在得大概位置;第一个用1标记;%坐标轴显示可以用axis on指令按此方法,可以实现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));for x=1:Mfor y=1:Nfor i=1:37ifj2(x,y)==A(i)C(i)=C(i)+1;endendendEndC数组即储存A中像素个数(4)最后显示各个图像与最后像素数得数组figure(1);imshow(j2,[]);figure(2);Imshow(j);axison;C2、3算法实现clear;clc;I=imread('D:\\seed、bmp'); f=rgb2gray(I);j=im2bw(f);k=f;axison;[M,N]=size(k);forx=1:Mfor y=1:Nk(x,y)=255;endend%第一行for x=40:70for y=100:150if(j(x,y)==0)k(x,y)=1;endendend%第二行for x=80:110for y=100:160if(j(x,y)==0)k(x,y)=2;endendfor y=180:230if(j(x,y)==0)k(x,y)=3;endendfory=240:300if(j(x,y)==0)k(x,y)=4;endendendfor x=120:155fory=100:160if(j(x,y)==0)k(x,y)=5;endendfory=180:230if(j(x,y)==0)k(x,y)=6;endendfor y=240:300if(j(x,y)==0)k(x,y)=7;endendendfor x=160:200for y=100:160if(j(x,y)==0)k(x,y)=8;endendfory=180:230if(j(x,y)==0)k(x,y)=9;endendfor y=240:300if(j(x,y)==0)k(x,y)=10;endendfory=310:375if(j(x,y)==0)k(x,y)=11;endendendforx=205:240fory=100:160if(j(x,y)==0)k(x,y)=12;endendfor y=180:230if(j(x,y)==0)k(x,y)=13;endendfor y=240:300if(j(x,y)==0)k(x,y)=14;endendfor y=310:375if(j(x,y)==0)k(x,y)=15;endendendforx=250:285fory=100:160if(j(x,y)==0)k(x,y)=16;endendfor y=180:230if(j(x,y)==0)k(x,y)=17;endendfor y=240:300if(j(x,y)==0)k(x,y)=18;endendfor y=310:375if(j(x,y)==0)k(x,y)=19;endendendfor x=290:328fory=100:160if(j(x,y)==0)k(x,y)=20;endendfor y=180:230if(j(x,y)==0)k(x,y)=21;endendfor y=240:300if(j(x,y)==0)k(x,y)=22;endendfor y=310:375if(j(x,y)==0)k(x,y)=23;endendendfor x=335:370fory=100:160if(j(x,y)==0)k(x,y)=24;endendfor y=180:230if(j(x,y)==0)k(x,y)=25;endendfor y=240:300if(j(x,y)==0)k(x,y)=26;endendfor y=310:375if(j(x,y)==0)k(x,y)=27;endendendforx=375:415for y=100:160if(j(x,y)==0)k(x,y)=28;endendfor y=180:230if(j(x,y)==0)k(x,y)=29;endendfory=240:300if(j(x,y)==0)k(x,y)=30;endendfor y=310:375if(j(x,y)==0)k(x,y)=31;endendfor y=400:440if(j(x,y)==0)k(x,y)=32;endendendfor x=420:450fory=100:160if(j(x,y)==0)k(x,y)=33;endendfor y=180:230if(j(x,y)==0)k(x,y)=34;endendfor y=240:300if(j(x,y)==0)k(x,y)=35;endendfor y=320:375if(j(x,y)==0)k(x,y)=36;endendfor y=400:440if(j(x,y)==0)k(x,y)=37;endendendA=[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:Mfor y=1:Nfor i=1:37if k(x,y)==A(i)C(i)=C(i)+1;endendendendfigure(1);imshow(k,[]);figure(2);imshow(j);C灰度图像二值化图像(带坐标) 标记ROI后得图像统计得像素数3、认识分析标记ROI位置得时候要尽量精确,否则会有几像素值得误差,甚至还会标记到不必要得地方;最后基本达到要求。