图像处理实例含Matlab代码.docx

上传人:b****0 文档编号:346624 上传时间:2022-10-09 格式:DOCX 页数:19 大小:2.74MB
下载 相关 举报
图像处理实例含Matlab代码.docx_第1页
第1页 / 共19页
图像处理实例含Matlab代码.docx_第2页
第2页 / 共19页
图像处理实例含Matlab代码.docx_第3页
第3页 / 共19页
图像处理实例含Matlab代码.docx_第4页
第4页 / 共19页
图像处理实例含Matlab代码.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

图像处理实例含Matlab代码.docx

《图像处理实例含Matlab代码.docx》由会员分享,可在线阅读,更多相关《图像处理实例含Matlab代码.docx(19页珍藏版)》请在冰豆网上搜索。

图像处理实例含Matlab代码.docx

图像处理实例含Matlab代码

图像处理实例(含Matlab代码)

 

信号与系统实验报告

——图像处理

 

学院:

信息科学与工程学院

专业:

2014级通信工程

组长:

**

组员:

**

2017.01.02

 

些不清晰的像素点,剩下的应该为较为清晰的细胞个数,再次计数得到大致结果。

二、Matlab程序代码

clear;closeall;

Image=imread('1.jpg');

figure,imshow(Image),title('原图');

Image=rgb2gray(Image);

figure,imshow(Image),title('灰度图');

Theshold=graythresh(Image);

Image_BW=im2bw(Image,Theshold);

Reverse_Image_BW22=~Image_BW;

figure,imshow(Image_BW),title('二值化图像');

Image_BW_medfilt=medfilt2(Image_BW,[33]);

figure,imshow(Image_BW_medfilt),title('中值滤波后的二值化图像');

Reverse_Image_BW=~Image_BW_medfilt;

figure,imshow(Reverse_Image_BW),title('图象取反');

Image_BW_medfilt2=medfilt2(Reverse_Image_BW,[2020]);

figure,imshow(Image_BW_medfilt2),title('第二次中值滤波的二值化图像');

[Label,Number]=bwlabel(Image_BW_medfilt,8);Number

[Label,Number]=bwlabel(Image_BW_medfilt2,8);Number

三、数据及结果

原图灰度图

二值化图像中值滤波后的二值化图像

图像取反第二次中值滤波的二值化图像

结果:

经过一次中值滤波得到的细胞个数为:

1498个。

经过第二次中值滤波去掉不清晰的细胞得到的细胞个数为211个。

实验二图像二的图形结构提取

一、实验内容及步骤

将该图形进行一系列处理,得到该生物模糊部分的大致结构。

首先,将原图转为灰度图,再进行图像锐化,突出图像的各个边界部分,然后进行二值化得到二值化图像,之后进行图像边界的提取,提取之后由于边界像素点不够连续,所以再进行一次闭运算用以连接边界,得到结果图像。

二、Matlab程序代码

clear;closeall;

Image=imread('2.jpg');

figure,imshow(Image),title('原图');

Image=rgb2gray(Image);

figure,imshow(Image),title('灰度图');

w4=[111;1-81;111];

Image=im2double(Image);

K=imfilter(Image,w4,'replicate');

KN=Image-K;

figure,imshow(KN),title('ruihua');

KN=imclose(KN,strel('rectangle',[2,2]));

KN=imopen(KN,strel('rectangle',[2,2]));

Theshold=graythresh(KN);

Image_BW=im2bw(Image,Theshold);

Reverse_Image_BW22=~Image_BW;

figure,imshow(Image_BW),title('初次二值化图像');

BW2=bwmorph(Image_BW,'remove');

figure,imshow(BW2),title('边界图像');

BW3=imclose(BW2,strel('rectangle',[10,10]));

figure,imshow(BW3),title('闭运算');

三、数据及结果

原图灰度图

锐化图像二值化图像

边界图像闭运算后得到结果

实验三图像三的图形结构提取

一、实验内容及步骤

操作方法及目的同实验二,将该图形进行一系列处理,得到该生物模糊部分的大致结构。

首先,将原图转为灰度图,再进行图像锐化,突出图像的各个边界部分,然后进行二值化得到二值化图像,之后进行图像边界的提取,提取之后由于边界像素点不够连续,所以再进行一次闭运算用以连接边界,得到结果图像。

二、Matlab程序代码

clear;closeall;

Image=imread('3.jpg');

figure,imshow(Image),title('原图');

Image=rgb2gray(Image);

figure,imshow(Image),title('灰度图');

w4=[111;1-81;111];

Image=im2double(Image);

K=imfilter(Image,w4,'replicate');

KN=Image-K;

figure,imshow(KN),title('ruihua');

KN=imclose(KN,strel('rectangle',[2,2]));

KN=imopen(KN,strel('rectangle',[2,2]));

Theshold=graythresh(KN);

Image_BW=im2bw(Image,Theshold);

Reverse_Image_BW22=~Image_BW;

figure,imshow(Image_BW),title('初次二值化图像');

BW2=bwmorph(Image_BW,'remove');

figure,imshow(BW2),title('边界图像');

BW3=imclose(BW2,strel('rectangle',[10,10]));

figure,imshow(BW3),title('闭运算');

三、数据及结果

原图灰度图

锐化图像二值化图像

边界图像闭运算后得到结果

实验四图像四的傅里叶变化及巴特沃斯低通滤波

一、实验内容及步骤

首先,为方便处理将原图转为灰度图,然后进行图像的傅里叶变换,得到傅里叶变换后的图像,之后进行巴特沃斯低通滤波,得到滤波后的图像以及滤波后的傅里叶变换图像。

二、Matlab程序代码

I1=imread('4.jpg');

I1=rgb2gray(I1);

subplot(221),imshow(I1);

xlabel('(a)原始图像');

f=double(I1);

g=fft2(f);

g=fftshift(g);%

F2=log(abs(g));

subplot(222),imshow(F2,[],'InitialMagnification','fit');

colormap(jet);colorbar

xlabel('(b)原始图像的傅里叶变换图像');

[N1,N2]=size(g);

n=2;

d0=5;

n1=fix(N1/2);

n2=fix(N2/2);

fori=1:

N1

forj=1:

N2

d=sqrt((i-n1)^2+(j-n2)^2);

ifd==0

h=0;

else

h=1/(1+(d/d0)^(2*n));

end

result(i,j)=h*g(i,j);

end

end

F3=log(abs(result));

subplot(223),imshow(F3,'InitialMagnification','fit');

colormap(jet);colorbar

xlabel('(c)滤波后的傅里叶变换图像')

result=ifftshift(result);

X2=ifft2(result);

X3=uint8(real(X2));

subplot(224),imshow(X3)

xlabel('(d)Butterworth低通滤波图像');

三、数据及结果

结论:

通过图b我们可以看出图像的能量主要集中在低频部分,高频中存在少量的能量,经过了低通滤波之后,图像变得模糊,这时通过图c我们可以发现高频部分已经被滤去,图像上只剩下了低频成分。

实验五图像五的空间域滤波与频域滤波

一、实验内容及步骤

该实验分别对此图形进行空间域的滤波以及频域上的滤波,观察实验结果。

首先,进行空间域上的滤波,为了能更好的观察滤波效果,先对图像添加较为密集的高斯噪声,然后分别进行均值滤波,高斯滤波以及拉普拉斯滤波,并观察实验结果。

其次,进行频域的滤波,同样为了能更好的观察滤波效果,先对图像添加较为密集的高斯噪声,然后分别进行理想低通滤波以及高斯低通滤波,并观察实验结果。

二、Matlab程序代码

%空间域滤波

clc;closeall;

I1=imread('4.jpg');

I=imnoise(I1,'gaussian');

w1=fspecial('average',[33]);

w3=fspecial('gaussian',[33],0.5);

w4=fspecial('laplacian',0.1);

g1=imfilter(I,w1,'replicate');

g3=imfilter(I,w3,'replicate');

g4=imfilter(I,w4,'replicate');

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

subplot(3,3,2);imshow(g1);title('均值滤波');

subplot(3,3,4);imshow(g3);title('高斯滤波');

subplot(3,3,5);imshow(g4);title('拉普拉斯滤波');

figure;

%频域滤波

clc;closeall;

I1=imread('4.jpg');

I1=rgb2gray(I1);

I=imnoise(I1,'gaussian');

f=im2double(I);

F=fft2(double(f));%傅里叶变换

F=fftshift(F);%将变换的原点移到频率矩形的中心

[M,N]=size(f);

%理想低通滤波

D0=input('输入截止频率');

h1=zeros(M,N);

fori=1:

M

forj=i:

N

if(sqrt(((i-M/2)^2+(j-N/2)^2))

h1(i,j)=1;

end

end

end

G1=F.*h1;

G1=ifftshift(G1);

g1=real(ifft2(G1));

%高斯低通滤波

I=im2double(I);

M=2*size(I,1);

N=2*size(I,2);%滤波器的行列数

u=-M/2:

(M/2-1);

v=-N/2:

(N/2-1);

[U,V]=meshgrid(u,v);

D=sqrt(U.^2+V.^2);

D0=20;

H=exp(-(

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

当前位置:首页 > 初中教育

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

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