当前位置:
文档之家› 图像处理实例(含Matlab代码)
图像处理实例(含Matlab代码)
clear;close all; Image = imread('2.jpg'); figure,imshow(Image),title('原图'); Image=rgb2gray(Image); figure,imshow(Image),title('灰度图'); w4 = [1 1 1;1 -8 1;1 1 1 ]; 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('闭运算');
1. 图像一的细胞计数
将该图形进行一系列处理,计 算得到途中清晰可见细胞的个数。 转为灰度图,二值化,中值滤 波,图像取反,计数,再次中值滤 波,再次计数
1. 图像一的细胞计数
clear;close all; 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,[3 3]); 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,[20 20]); figure,imshow(Image_BW_medfilt2),title('第二次中值滤波的二值化图像'); [Label, Number]=bwlabel(Image_BW_medfilt,8);Number [Label, Number]=bwlabel(Image_BW_medfilt2,8);Number
信号与系统 图像处理实验报告
组长:** 组员:** 专业:2014级通信工程
1. 图像一的细胞计数 2. 图像二的图形结构提取 3. 图像三的图形结构提取 4. 图像四的傅里叶变化及巴特沃斯低通滤波 5. 图像五的空间域滤波与频域滤波
1. 图像一的细胞计数 2. 图像二的图形结构提取 3. 图像三的图形结构提取 4. 图像四的傅里叶变化及巴特沃斯低通滤波 5. 图像五的空间域滤波与频域滤波
5. 图像五的空间域滤波与频域滤波
%频域滤波 clc;close all; 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); 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(-(D.^2)./(2*(D0^2))); %设计高斯滤波器 J=fftshift(fft2(I,size(H,1),size(H,2))); G=J.*H; L=ifft2(fftshift(G)); L=L(1:size(I,1),1:size(I,2)); subplot(2,3,1);imshow(f);title('原图'); subplot(2,3,2);imshow(g1);title('理想低通滤波'); subplot(2,3,4);imshow(L);title('高斯低通滤波');
3. 图像三的图形结构提取
clear;close all; Image = imread('3.jpg'); figure,imshow(Image),title('原图'); Image=rgb2gray(Image); figure,imshow(Image),title('灰度图'); w4 = [1 1 1;1 -8 1;1 1 1 ]; 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('闭运算');
5. 图像五的空间域滤波与频域滤波
%空间域滤波 clc;close all; I1=imread('4.jpg'); I=imnoise(I1,'gaussian'); w1=fspecial('average',[3 3]); w3=fspecial('gaussian',[3 3],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;
5. 图像的空间域滤波与频域滤波
该实验分别对此图形进行空间域的 滤波以及频域上的滤波,观察实验结果。 首先,进行空间域上的滤波,为了能更 好的观察滤波效果,先对图像添加较为 密集的高斯噪声,然后分别进行均值滤 波,高斯滤波以及拉普拉斯滤波,并观 察实验结果。 其次,进行频域的滤波,同样为了 能更好的观察滤波效果,先对图像添加 较为密集的高斯噪声,然后分别进行理 想低通滤波以及高斯低通滤波,并观察 实验结果。
1. 图像一的细胞计数
1. 图像一的细胞计数
1. 图像一的细胞计数
结果: 经过一次中值滤波得到的细胞个数为:1498个。 经过第二次中值滤波去掉不清晰的细胞得到的细胞个数为211个。
1. 图像一的细胞计数 2. 图像二的图形结构提取 3. 图像三的图形结构提取 4. 图像四的傅里叶变化及巴特沃斯低通滤波 5. 图像五的空间域滤波与频域滤波
4. 图像四的傅里叶变化及巴特沃斯低通滤波
通过图b我们可以 看出图像的能量主要集 中在低频部分,高频中 存在少量的能量,经过 了低通滤波之后,图像 变得模糊,这时通过图 c 我们可以发现高频部 分已经被滤去,图像上 只剩下了低频成分。
1. 图像一的细胞计数 2. 图像二的图形结构提取 3. 图像三的图形结构提取 4. 图像四的傅里叶变化及巴特沃斯低通滤波 5. 图像五的空间域滤波与频域滤波
2. 图像二的图形结构提取