opencv - 在白色背景上检测文本区域时,`cv::findContours`方法无法正常工作。 (OpenCV)

标签 opencv image-processing opencv-contour

我面临的问题是,当我运行opencv代码以检测图像中的轮廓时,我无法进入图像的边界内,因此该程序在图像的边界处获得了轮廓。

 Mat3b xyres;
cvtColor(img, xyres, COLOR_GRAY2BGR);
for (int i = 0; i < rects.size(); ++i)
{
    rectangle(xyres, rects[i], Scalar(0, 0, 255), 2);
}

Size size2(700, 800);
        resize(xyres, xyres, size2);
imshow("XY-Cut Result", xyres);

waitKey();

图像输出看起来像这样:
enter image description here

我需要这样的东西:enter image description here

最佳答案

我们为findContourswhite objects on black background

当您的二进制图像是black chars on white background时,您应该使用标志threshold对其进行THRESH_BINARY_INV以获得黑底白字。然后执行findContours

关于opencv - 在白色背景上检测文本区域时,`cv::findContours`方法无法正常工作。 (OpenCV),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48314605/

相关文章:

opencv - 使用 EigenObjectRecognizer 进行人脸识别

java - 扫描屏幕颜色

java - 在 Java Camera2 API 中使用 OpenCV

python - 在两个给定点之间画线(OpenCV,Python)

javascript - 将图像保存到硬盘

python - 使用 OpenCV Python 使用模糊水平集进行视网膜流体分割

python-3.x - 如何使用 OpenCV 检测垂直文本以进行提取

python - 模仿Photoshop的图层蒙版

python - 使用 2D 图像在 Python 中进行 Lanczos 插值

python - 如何用两点画一条线,然后用opencv,python画线直到到达轮廓点?