网站服务器买了后怎么做的,wordpress同步头条,建设银行指定网站,图书网站建设策划书灰度图像边缘检测是数字图像处理与机器视觉中经常遇到的一个问题#xff0c;边缘检测是否连续、光滑是判断检测方法优劣的一个重要标准#xff0c;下面通过一个实例提供灰度图像边缘检测方法#xff0c;该方法对其他图像检测也具有一定的参考价值。 首先#xff0c;读入一幅… 灰度图像边缘检测是数字图像处理与机器视觉中经常遇到的一个问题边缘检测是否连续、光滑是判断检测方法优劣的一个重要标准下面通过一个实例提供灰度图像边缘检测方法该方法对其他图像检测也具有一定的参考价值。 首先读入一幅灰度图像然后直接使用Canny算子对其进行边缘检测发现其检测效果不好故改变思路先将灰度图像转换为二值图像然后通过数学形态学平滑边缘后再进行边缘检测。算法主要步骤读入灰度图像使用最大类间方差法对图像二值化然后反色并填充二值图像孔洞。然后选取合适结构元素分别使用数学形态学开运算和闭运算对图像进行平滑最后使用bwmorph对平滑后二值图像进行边缘提取取得了较好的边缘检测效果。最后对原始灰度图像eight.tif边缘检测的主要图像处理过程进行显示。 详细代码如下
clear all;close all;clc;
Iimread(eight.tif);
E1edge(I,canny);%采用canny算子对灰度图像直接进行边缘检测
figure,imshow(E1);%检测效果不好
bwim2bw(I,graythresh(I));%使用最大类间方差法进行图像二值化
figure,imshow(bw);
bwimcomplement(bw);%图像反色
figure,imshow(bw);
bw2imfill(bw,holes);%对二值图像填充孔洞
figure,imshow(bw2);
E2bwmorph(bw2,remove);
figure,imshow(E2);%边缘检测效果不理想--二值图像边界不平滑
Sestrel(disk,3);%对比使用不同类型和不同尺寸结构元素
bw3imopen(bw2,Se);%图像开运算--对图像边界平滑
figure,imshow(bw3);
E3bwmorph(bw3,remove);
figure,imshow(E3);%边缘检测效果好
bw4imclose(bw2,Se);%图像闭运算—对图像边界平滑
figure,imshow(bw4);
E4bwmorph(bw4,remove);
figure,imshow(E4);%边缘检测效果好
figure(Name,灰度图像边检检测,NumberTitle,off)
subplot(2,3,1),imshow(I),title(原始灰度图像);
subplot(2,3,3),imshow(bw2),title(二值图像);
subplot(2,3,2),imshow(E1),title(对灰度图像直接使用canny算子边缘检测);
subplot(2,3,4),imshow(E2),title(bwmorph边缘检测);
subplot(2,3,5),imshow(E3),title(bwmorphimopen边缘检测);
subplot(2,3,6),imshow(E4),title(bwmorphimclose边缘检测);
%本程序在MATLAB 2018b检测通过
最后运行结果如下图所示