【发布时间】:2011-08-04 10:26:52
【问题描述】:
我正在使用 OpenCV 库中的 cvThresholding() 例程使用 Otsu 的阈值方法执行二值化。有时该方法会失败,这是可以理解的,因为 Otsu 会为整个图像计算单个阈值。为了改善结果,我决定将图像分解为网格,然后对网格的每个部分执行 Otsu 二值化。现在的结果似乎令人鼓舞,但是基于网格的分区使得输出二进制图像在本质上是不连续的,尤其是在网格的边缘。有没有办法解决这个问题?
请注意,这种方法最适合我。我知道 opencv 中可用的自适应阈值选项,这似乎对我不起作用,因为与 Otsu 的二值化方法相比,它过于敏感。
等待回复。提前致谢。
【问题讨论】:
-
嗨@Saurabh Gandhi 正在尝试以下语句“cvThreshold(Img1,Img1, 0, 255,CV_THRESH_BINARY|CV_THRESH_OTSU);” Img1 是 32F 1 通道图像,但它不断抛出异常。你可以帮帮我吗 。 pLzzzz
标签: c matlab image-processing opencv computer-vision