边缘检测结合洪水填充算法图像处理



好的,我正在寻找一个用于图像处理的区域填充工具,我想结合边缘检测和例如洪水填充算法。 我看过不同类型的算法(canny,laplace sobel等),但不知道如何实现它们并调整它们以适应我的情况。

我已经能够使用来自 html5rocks 的示例:-

http://www.html5rocks.com/en/tutorials/canvas/imagefilters/

并且可以将其应用于我的图像数据。 我还可以将新颜色应用于我选择的图像,但我不确定如何将 2 组合在一起,以便执行以下操作 -

图像中的区域上单击并用新颜色替换旧颜色,在由鼠标单击周围的边缘检测过滤器定义的边缘定义的区域内和原始颜色(我打算尝试在给定公差范围内使用原始颜色 HSL 值)

如此有效地像一个智能区域填充。

它使用的是HTML5画布和javascript。

希望这是有道理的...

为了

使用图像处理算法,我建议你从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/和其他图像处理。对于每个图像,您需要学习如何设置正确的值。

最新更新