2012-04-04 78 views
0

如何可以在图像中检测边缘,而无需使用方法“边缘”边缘,与仅使用数学运算(矩阵或派生或格或任何其他)?事实上,我怎么能使用算法Cannysobel或任何其他重写功能edge找到在图像

例如:

enter image description here

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

答:Canny Tutorial

+0

你为什么要当一个完全可用的功能已经存在重新写呢?你是否希望以某种方式定制'边缘'?你可以使用canny和sobel算法和'edge'。 – 2012-04-04 17:12:41

回答

2

幽州要使用坎尼,索贝尔或另一种算法。这些都可以用于边缘。尝试举例:

BW = edge(I,'canny'); 

其中I是您的图像矩阵。如果您有兴趣了解如何使用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

+0

http://www.cs.ucf.edu/~mikel/Research/Edge_Detection.htm – 0x90 2012-04-04 17:37:05

+0

没有,用了使用method'edge '只有与时脉,minuse,DIV,开方,... – user1263390 2012-04-04 17:49:18

+0

你还是天堂' t解释了为什么你希望别人帮助你做到这一点,当已经有一个很好的实施版本,并提供源代码,已经在MATLAB中。为什么你需要新版本的'edge'? – 2012-04-04 17:51:26