使用OpenCV泛洪填充

时间:2015-06-07 18:19:04

标签: java android opencv

我只想使用洪水填充,但它失败了,我从未使用它,所以我认为我做错了。

<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>

洪水填充后,我打算将其返回到位图以显示它,这样我就会看到更改。

1 个答案:

答案 0 :(得分:0)

您应该使用重载的floodFill方法,该方法需要额外的参数:

Imgproc.floodFill(myMat2, flooded, flood, new Scalar(255, 255, 255), new Rect(), lowerDiff, upperDiff, 4);

新的Rect()对象是一个包含洪水填充的边界矩形; lowerDiffupperDiff应该是初始化的标量,与原始像素值具有差异值(即:如果它是具有颜色值差异的RGB图像,请说在您的种子点(泛滥)有一个明亮的黄色像素,它被一个稍微不那么明亮或略微更亮的黄色像素包围,它将用白色矩形填充它们。您想用3个值初始化它们,即:

Scalar lowerDiff = new Scalar(10, 10, 10);

最后的整数参数是floodFill实际考虑的相邻像素数,4是默认值,8是另一个选项。 (4将采用北,东,西,南像素,而8将采取北,东北,东,东南等像素。)