我正在使用OpenCV对图像进行一些图像处理,我想得到一个始终具有黑色背景和白色前景(文本(的图像,问题是我可以使用BINARY_INV反转具有白色bg和黑色fg的图像,但是当用户给出黑色bg和白色fg时,我如何识别图像已经是黑色bg而不是白色,所以我不必将其反转。我希望我能弄清楚。这是一个样品。样本图像
新图像
我自己解决了这个问题。如果在白色bg上应用Findcontour,它总是将图像的边界检测为轮廓,所以我实现了一个逻辑,如果最大的轮廓的大小等于图像的大小,那么反转图像。这不是最好的解决方案,但对我的特定问题非常有效。
要绘制内部轮廓,可以找到具有层次结构的轮廓,然后只绘制子轮廓,即包含数字和字母的轮廓,而不绘制外部父轮廓