0

如何在不使用“边缘”方法的情况下检测图像中的边缘,只使用数学运算(矩阵或派生或 div 或任何其他)?确实,我怎样才能edge通过使用算法 Cannysobel其他任何方法来重写函数?

例如:

在此处输入图像描述

粉色长方形256*256 黑色长方形127*127

答案:Canny 教程

4

1 回答 1

2

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

BW = edge(I,'canny');

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

edit edge

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

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

对于您使用矩形的具体示例,很有可能使用它edge来查找边缘。您必须做的一个技巧是将 rgb 图像转换为灰度图像,使用rgb2gray. 尝试例如:

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

在此处输入图像描述

于 2012-04-04T17:20:31.557 回答