gpt4 book ai didi

java - 使用 OpenCV 洪水填充

转载 作者:太空宇宙 更新时间:2023-11-03 21:53:16 25 4
gpt4 key购买 nike

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

Mat flooded=new Mat();
Point flood=new Point(1,1);
// floodedmat = Mat.zeros(myMat2.size(), CvType.CV_8UC1);
Imgproc.floodFill(myMat2, flooded, flood, new Scalar(255, 255, 255));
Utils.matToBitmap(flooded, copy);

在洪水填充之后,我打算将它返回到位图以显示它,以便我看到变化。

最佳答案

您应该使用带额外参数的重载 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 个将取北、东北、东、东南等像素)。

关于java - 使用 OpenCV 洪水填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30696914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com