【发布时间】:2015-09-05 05:28:44
【问题描述】:
我是图像处理的新手,我正在尝试使用此代码检测垂直线-
image=imread('benzene.jpg');
BW = im2bw(image);
w1=[-1 2 -1 ; -1 2 -1 ; -1 2 -1];
g=(imfilter(double(BW),w1));
g=abs(g);
T=max(g(:));
g=g>=T;
imshow(g);
这是我的照片-
这是我执行操作后得到的-
所以我的问题是为什么我会得到这个输出?如果将垂直双键计为 2 条不同的垂直线,则有 10 条垂直线。另外,如果我想获得水平、垂直、45 和 -45 的所有线怎么办,如何使用所有 4 个掩码来获得一个输出?
【问题讨论】:
-
你能给这张图片的在线链接吗?我在网上找不到它
-
我已经编辑了我的问题。我理解我的错误,但现在我又得到了意外的输出。
-
@roni 你可以从这里保存这张图片,因为我现在没有图片链接。
-
问题出在你的过滤器上,当然。阅读一些基本过滤器以了解情况:en.wikipedia.org/wiki/Prewitt_operatoren.wikipedia.org/wiki/Sobel_operator
标签: image matlab image-processing computer-vision edge-detection