在图像中找到边缘

时间:2012-04-04 16:58:23

标签: matlab math edge-detection matlab-guide

如何在不使用方法' edge'的情况下检测图像边缘,仅使用数学运算(矩阵或Derived或div或任何其他)?实际上,如何使用算法edgeCanny或其他任何方法重写函数sobel

例如:

enter image description here

粉红色矩形256 * 256 黑色矩形127 * 127

答案:Canny Tutorial

1 个答案:

答案 0 :(得分:2)

您声明您希望使用Canny,Sobel或其他算法。这些都可以在边缘使用。试试例如:

BW = edge(I,'canny');

我是你的图像矩阵。如果您有兴趣了解edge的工作原理,请输入

edit edge

进入命令窗口。然后,您将看到MATLAB自己的实现。

您可能希望从头开始重新实现edge,以便更好地了解图像处理算法的工作原理。如果是这样,我会引导您走向以下来源:

对于具有矩形的特定示例,很有可能使用edge来查找边缘。您需要做的一件事是使用rgb2gray将rgb图像转换为灰度图像。试试例如:

rgb_image = imread('iarLe.png');
gray_image = rgb2gray(rgb_image);
edge_image = edge(gray_image);
imshow(edge_image);

enter image description here