首页 > 分享 > 图像形态学处理——灰度平滑(Matlab)

图像形态学处理——灰度平滑(Matlab)

最新推荐文章于 2024-08-19 12:05:49 发布

lengo 于 2019-09-05 19:23:07 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

clc;

clear all;

close all;

%灰度平滑测试图像

I=im2double(imread('D:Gray Files9-38.tif'));

%==============================灰度平滑====================================

%半径为3的磁盘(disk)结构元素

% r=3;

% 半径为5的磁盘(disk)结构元素

r=5;

B=ones(2*r-1,2*r-1);

%将距离大于40的点置零

for i=1:2*r-1

for j=1:2*r-1

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

if d>r

B(i,j)=0;

end

end

end

n=2*r-1;

ind=find(B==0);

n_l=floor(n/2);

I_pad=padarray(I,[n_l,n_l],'symmetric');

[M,N]=size(I);

J_Smoothing=zeros(M,N);

%-------------------------------灰度开操作---------------------------------

J_Opening=zeros(M,N);

%腐蚀操作

J_Erosion=zeros(M,N);

for i=1:M

for j=1:N

%获得图像子块区域

Block=I_pad(i:i+2*n_l,j:j+2*n_l);

C=Block.*B;

%删除0值,保留4连通数值

C=C(:);

C(ind)=[];

J_Erosion(i,j)=min(C);

end

end

%对腐蚀图像进行扩展

J_Erosion_pad=padarray(J_Erosion,[n_l,n_l],'symmetric');

%膨胀图像

for i=1:M

for j=1:N

%获得图像子块区域

Block=J_Erosion_pad(i:i+2*n_l,j:j+2*n_l);

C=Block.*B;

%删除0值,保留4连通数值

C=C(:);

C(ind)=[];

J_Opening(i,j)=max(C);

end

end

%-------------------------------灰度闭操作---------------------------------

%继续将灰度开操作的结果实施闭操作

J_Opening_pad=padarray(J_Opening,[n_l,n_l],'symmetric');

%膨胀图像

J_Dilation=zeros(M,N);

for i=1:M

for j=1:N

%获得图像子块区域

Block=J_Opening_pad(i:i+2*n_l,j:j+2*n_l);

C=Block.*B;

%删除0值,保留4连通数值

C=C(:);

C(ind)=[];

J_Dilation(i,j)=max(C);

end

end

%对膨胀图像进行扩展

J_Dilation_pad=padarray(J_Dilation,[n_l,n_l],'symmetric');

%腐蚀操作

for i=1:M

for j=1:N

%获得图像子块区域

Block=J_Dilation_pad(i:i+2*n_l,j:j+2*n_l);

C=Block.*B;

%删除0值,保留4连通数值

C=C(:);

C(ind)=[];

J_Smoothing(i,j)=min(C);

end

end

subplot(121)

imshow(I)

subplot(122)

imshow(J_Smoothing)

相关知识

MATLAB图像识别技术在棉花叶面病虫害识别
MATLAB图像识别技术在绿叶面病虫害识别
MATLAB图像识别技术在棉花叶面病虫害识别上的
基于MATLAB的农业病虫害识别系统
【病虫害识别】SVM病虫害识别系统【含GUI Matlab源码 2429期】
彩色图像处理(matlab)
MATLAB植物叶片虫害识别技术
使用Matlab对HDF5卫星图像数据进行可视化及地表温度分析
花老湿OpenCV学习:形态学操作(开、闭运算,形态学梯度,顶帽,黑帽)
MATLAB植物虫害识别

网址: 图像形态学处理——灰度平滑(Matlab) https://m.huajiangbk.com/newsview496432.html

所属分类:花卉
上一篇: 永顺县落叶木莲花的形态学研究
下一篇: matlab与数字图像处理