首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用OpenCV泛洪填充

使用OpenCV泛洪填充
EN

Stack Overflow用户
提问于 2015-06-08 02:19:04
回答 1查看 2.1K关注 0票数 2

我只是想使用泛洪填充物,但它失败了,我从来没有用过它,所以我想我做错了什么。

代码语言:javascript
运行
复制
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);

在泛洪填充之后,我打算将它返回到位图以显示它,这样我就可以看到变化。

EN

回答 1

Stack Overflow用户

发布于 2017-07-28 07:16:20

您应该使用重载的floodFill方法,该方法接受其他参数:

代码语言:javascript
运行
复制
Imgproc.floodFill(myMat2, flooded, flood, new Scalar(255, 255, 255), new Rect(), lowerDiff, upperDiff, 4);

新的Rect()对象是一个边界矩形,它将包含你的泛洪填充;lowerDiffupperDiff应该用一个与你的原始像素值不同的值来初始化标量(例如:如果它是一个色值不同的RGB图像,假设在你的种子点(泛洪)有一个明亮的黄色像素,它被一个稍微亮一点或稍微亮一点的黄色像素包围,它将用白色矩形填充它们)。你想用3个值来初始化它们,即:

代码语言:javascript
运行
复制
Scalar lowerDiff = new Scalar(10, 10, 10);

最后一个整数参数是floodFill实际上应该考虑多少相邻像素,4是默认值,8是另一个选项。(4将采用北部、东部、西部和南部像素,而8将采用北部、东北部、东部、东南部等。像素)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30696914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档