如何解决实现本地化的Otsu二元化
| 我正在使用OpenCV库中的cvThresholding()例程,以使用Otsu的阈值化方法执行二值化。有时这种方法会失败,这是可以理解的,因为Otsu为整个图像计算了一个阈值。为了改善结果,我决定将图像分解为网格,然后在网格的每个部分执行Otsu二值化。现在的结果似乎令人鼓舞,但是基于网格的分区实际上使输出的二进制图像不连续,尤其是在网格边缘。有办法解决吗? 请注意,这种方法最适合我。我知道opencv中可用的自适应阈值选项,但对我来说似乎不起作用,因为与Otsu的二值化方法相比,它的方法过于敏感。 等待回应。提前致谢。解决方法
最简单的方法可能是在网格中心之间插入阈值。尽管阈值图像将是不连续的(渐变而不是幅度),但最终结果中显示的可能性较小。
,如果您尝试移动窗口而不是网格怎么办?例如,对于每个像素,基于针对以该像素为中心的5x5或7x7色块获得的阈值进行二值化(在边缘适当包裹)。
移动窗口将使阈值在整个图像上逐渐且连续变化。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。