【发布时间】:2021-08-11 04:54:11
【问题描述】:
我的目标是为下图绘制文本边界框。由于这两个区域的颜色不同,所以这应该很容易。我只需要选择匹配某个颜色值的像素来过滤掉其他文本区域并运行凸包检测。
但是,当我放大图像时,我注意到文本区域的边缘具有锯齿形效果,因此我无法从上图。
我想知道有没有办法消除之字形效果以确保每个短语的颜色一致?或者有没有办法确定每个文本区域的主色?
【问题讨论】:
-
一种可能的解决方案是对图像进行阈值处理,并将其用作掩码来对原始图像中的彩色像素进行采样。但是,结果可能不是您想要的,因为由于抗锯齿过重,蒙版可能会丢失一些像素。另一种解决方案涉及Color Quantization 通过聚类 - 这基本上将相似颜色的像素分组到聚类中。然后可以使用一种统一的纯色重新绘制这些聚集的像素,从而有效地使字母混叠。
-
@stateMachine 是的,我同意。当我有其他颜色不同的图像时,第一个解决方案可能无法很好地概括,因为我需要为每个图像选择适当的阈值。我认为第二种解决方案看起来很有希望。颜色和位置的组合可能适用于这种情况。
标签: python opencv image-processing bounding-box zigzag