好的,我正在写一个区域填充工具,用于图像处理,我想结合边缘检测和泛洪填充算法。我研究过不同类型的算法(canny,laplace sobel等)。但是不知道如何实现它们,并使它们适合我的情况。
我已经能够使用html5rocks示例了:
http://www.html5rocks.com/en/tutorials/canvas/imagefilters/
并可以将其应用于我的图像数据。我也可以将新的颜色应用到我选择的图像中,但我不确定如何将这两种颜色组合在一起,以便我可以执行以下操作-
鼠标点击图像内的区域,并用新颜色替换旧颜色,区域内由鼠标点击周围的边缘检测过滤器定义的边缘和原始颜色(我打算尝试使用给定公差内的原始颜色HSL值)
因此有效地像智能区域填充。
它使用的是HTML5画布和javascript。
希望这是有意义的。
发布于 2013-01-26 10:17:55
为了使用图像处理算法,我建议你从matlab开始。如果您真的想了解这是如何实现的。
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/和其他图像处理。对于每个图像,您都需要学习如何设置正确的值。
https://stackoverflow.com/questions/14529912
复制相似问题