边缘检测与泛洪算法图像处理相结合

3
好的,我想要编写一个图像处理的区域填充工具,我想将边缘检测和洪水填充算法结合起来。我已经查看了不同类型的算法(Canny、Laplace Sobel等),但不知道如何实现它们并使它们适应我的情况。
我能够使用html5rocks的示例(http://www.html5rocks.com/en/tutorials/canvas/imagefilters/)并将其应用于我的图像数据。我也可以在所选图像中应用新颜色,但我不确定如何将这两者结合起来,以便我可以执行以下操作-
单击图像中的区域并用新颜色替换旧颜色,在鼠标单击周围通过边缘检测过滤器定义的边缘内的区域和原始颜色(我打算尝试在给定容差范围内使用原始颜色的HSL值)
因此,就像智能区域填充一样。
它是使用HTML5画布和JavaScript完成的。
希望这有意义...
1个回答

3
为了使用图像处理算法,我建议您从matlab开始。如果你真的想了解这是如何完成的。
这是一个免费的图像处理课程 https://class.coursera.org/images-2012-001/auth/welcome?type=logout&visiting=https%3A%2F%2Fclass.coursera.org%2Fimages-2012-001%2Fclass%2Findex
function [ output_args ] = SobelEdgeDetection( Image )

maskX = [-1 0 1 ; -2 0 2; -1 0 1];
maskY = [-1 -2 -1 ; 0 0 0 ; 1 2 1] ;

resX = conv2(Image, maskX);
resY = conv2(Image, maskY);

magnitude = sqrt(resX.^2 + resY.^2);
direction = atan(resY/resX);
thresh = magnitude < 101;
magnitude(thresh) = 0;
showImage(magnitude);

end

这是我编写的Sobel边缘检测函数示例。您需要了解什么是卷积以及在哪里使用它。如果您只想使用它,我建议您探索http://www.pixastic.com/lib/docs/actions/edges/和其他图像处理技术。对于每张图片,您需要学习如何设置正确的值。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接