【问题标题】:Eliminate all vertical and diagonal lines in MATLAB消除MATLAB中的所有垂直线和对角线
【发布时间】:2017-11-12 01:33:53
【问题描述】:

这里是输入图片5.png

这是我的代码:

clear all; close all; clc;
%Input Image
A = imread('C:\Users\efu\Desktop\5.png');
% figure, imshow(A);

C=medfilt2(A,[3 5]);
% figure,imshow(C);

D=imfill(C);
% figure,imshow(D);

%Image obtained using MATLAB function 'edge'    
E=edge(D,'canny',[0.01 .02],3);
figure, imshow(E); title('Image obtained using MATLAB function');

image=E;
img=im2bw(image);
% imshow(img)

se = strel('line',3,0);
zz = imerode(img,se);
figure, imshow(zz);

精明边缘检测后的输出:

侵蚀后:

这里的问题是,在侵蚀后所有水平边缘都被破坏了,但我不希望这样。除了要删除所有垂直线和对角线之外,我还想提取所有水平线而不会中断。

请有人修改代码。

【问题讨论】:

  • 第一件事我没有大喊大叫。是的,它是相关的。并添加了 5.png。
  • 我的两分钱:通过组合两个过滤器找到对角线,其中一个用于查找垂直线,另一个用于查找水平线。因此,当您移除其中一个过滤器时,它会产生不连续性。因此,最后一张图片上的线条被中断(w.r.t 上一张图片),因为对角线或垂直部分已被删除。

标签: matlab image-processing edge-detection morphological-analysis


【解决方案1】:

这是一个 hack,但它有效。一个简短的说明,我建议不要使用 clear all。它有一些负面影响,例如清除对 mex 函数的引用。我不太确定这意味着什么,但除非你想清除全局变量,否则它似乎没有真正的用处。

基本上我在这里做了三重。我添加了一个高斯滤波器来提供更多的容差,增加了 strel 的侵蚀率,并在各个角度上进行搜索以提供一些角度容差。最后,您在水平部分上比开始时要多一点,但它确实使图像清晰得多。如果您愿意,您可以将 zz 矩阵相加并对其进行阈值化以获得一个新的二进制图像,该图像可能更接近您的原始图像。真的很喜欢这个问题,让我期待秋天的图像处理。

clear; close all;
%Input Image
A = imread('5.png');
% figure, imshow(A);

C=medfilt2(A,[3 5]);
% figure,imshow(C);

D=imfill(C);
% figure,imshow(D);

%Image obtained using MATLAB function 'edge'    
E=edge(D,'canny',[0.01 .02],4);
figure, imshow(E); title('Image obtained using MATLAB function');

image=E;
img=double(image);
img = imgaussfilt(img,.5);
% imshow(img)
zz_out = zeros(size(img));
% se = strel('line',3,-90);
% zz = imerode(img,se);
% se2 = strel('line',3,0);
% zz2 = imerode(img,se2);
for ii = -5:.1:5
    se = strel('line',20,ii);
    zz = imerode(img,se);
    zz_out = or(zz,zz_out);
end
% zz_out = img-zz;
figure, imshow(zz_out);

【讨论】:

  • 非常感谢。我是否将 zz_out 矩阵放入 bwareaopen 或阈值化以移除小的水平边缘?
猜你喜欢
  • 1970-01-01
  • 2012-04-04
  • 2019-05-26
  • 1970-01-01
  • 1970-01-01
  • 2015-04-04
  • 1970-01-01
  • 1970-01-01
  • 2013-06-16
相关资源
最近更新 更多