java - 分割区域内的区域分割

标签 java image-processing opencv javacv

这是一张图片:

enter image description here

我想知道如何将黑色圆圈设置为白色,其余部分设置为黑色。

(因此在白色区域内分割黑色圆圈)。

我知道我可以反转图像,圆圈将是白色的......但是这张图像中看到的整个黑色部分也是如此。

如果我必须在 matlab 中执行此操作,我将执行连通分量操作并检查 BLOB 的循环性。虽然我必须在 opencv 中执行此操作(准确地说是 javacv。)

在 opencv (javacv) 中是否有一种简单的方法可以做到这一点。

提前致谢

最佳答案

在 OpenCV 中有一种使用 findContours()drawContours() 的简单方法。如果您使用分层版本的 findContours(),则您可以查看分层结构并仅绘制(填充)白色四边形的子轮廓。这还有一个额外的好处,那就是您可以在必要时进行一些健全性检查(例如,检查轮廓的大小以查看它是否大约是您期望的大小)。我对 java 或 javacv 一无所知,但也许您可以查看 opencv 中包含的 findcontours 的 c++ 示例以获取灵感?

关于java - 分割区域内的区域分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9958823/

相关文章:

python - 如何使用 Python 将 .ICO 转换为 .PNG?

php - 在 PHP 或 Python 中目视检查图像重复和损坏的图像

image-processing - 卷积理论与实现

opencv - 使用 OpenCV : ffmpeg? 打开 avi 文件

c++ - 我如何逐行读取灰度图像 opencv c++

java - 如何将 google app engine cron 作业路由到模块和版本

java - 在 .txt 文件中搜索字符串并在 Java 中获取行号和列号

python-3.x - openCV imshow始终显示黑色小窗口

Java编程,解决时遇到死循环。提供了问题的图像链接和代码。

java - 部署spring boot应用需要web.xml吗