c++ - OpenCV:一般可以使用哪些方法或二值化技术来提取低质量和低对比度图像的前景?

标签 c++ image algorithm opencv image-processing

下面只是我想要二值化的几张裁剪图像中的两张。如您所见,我只想从图像中获取圆形的东西。光是看一眼,就可以清楚地将圆形物体区分为前景。我认为将其二值化同样容易。我尝试了自适应阈值化、Otsu 的、Sauvola、Niblack 和 Wolf 二值化技术。我也试过在二值化之前提高它们的对比度,但它们都不能完美工作。任何人都可以建议一种方法或分步程序来提取下图中的圆形事物吗?

sample01.jpg

sample02.jpg

最佳答案

创建图像的直方图并找到划分图像前景和背景的谷 - 这就是你的 Point , 现在你可以进行二值化了。

之后您可以简单地使用打开/关闭操作来改善您的图像。

关于c++ - OpenCV:一般可以使用哪些方法或二值化技术来提取低质量和低对比度图像的前景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38450437/

相关文章:

c++ - 如何在 Driver.c controlFunction 接收使用 DeviceIoControl 发送的数据? IOCTL,驱动程序

css - 用sed替换缩小的css中的图像路径

algorithm - 我需要帮助来理解这个流程图算法

java - 如何从数十亿个数字中高效地找出 10 个最大的数字?

c++ - 图形硬件上的最近邻搜索

c++ - unique_ptr 是否保证在 move 后存储 nullptr?

c++ - 如何禁用 Windows 用户通过 AdjustTokenPrivileges 手动更改系统时间的能力?

c++ - 如何像 OpenGL 中的 glRotatef() 一样旋转顶点?

javascript - 循环遍历javascript中的图像数组

html - 如何让背景显示完整图像