python - 如何在应用轮廓后从图像中提取文本

标签 python opencv computer-vision

我正在尝试从车牌图像中获取字母,为此我拍摄了一张图像并将其更改为灰色,然后对其应用了阈值。然后使用轮廓我裁剪了只有车牌的图像。我为此使用了 python

代码:

import numpy as np
import sys
import cv2
import imutils

img = "d1.jpg"
# load the image and convert it to grayscale
image = cv2.imread(img)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

(T, threshInv) = cv2.threshold(gray, 0, 255,
cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)
cv2.imshow("Threshold", threshInv)

#masking
mask = np.zeros(image.shape[:2], dtype="uint8")

# find all contours in the image and draw ALL contours on the image
cnts=cv2.findContours(threshInv.copy(),cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)
clone = image.copy()
cv2.drawContours(clone, cnts, -1, (0, 255, 0), 2)
print("Found {} contours".format(len(cnts)))

for cnt in cnts:
    x,y,w,h = cv2.boundingRect(cnt)
    crop = image[y:(y+h),x:(x+w)]
    if(w>300 and h>100 and w<700 and h<500):
        print("detected")
        cv2.imshow('plate',crop)
        cv2.rectangle(mask, (x, y), (x+w, y+h), 255, -1)
        break
cv2.imshow("Mask", mask)
masked = cv2.bitwise_and(clone, clone, mask=mask)
cv2.imshow("Mask Applied to Image", masked)
cv2.waitKey(0)
cv2.destroyAllWindows()

contouring applied image 任何人都可以帮助我实现这一目标。 提前致谢。

最佳答案

我不确定你想做什么:光学字符识别?如果是,您可以尝试 Tesseract:https://www.pyimagesearch.com/2017/07/10/using-tesseract-ocr-python/

关于python - 如何在应用轮廓后从图像中提取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53893902/

相关文章:

python - Pycharm 上的远程调试连接本地和远程路径

python - 如何在Python中用不同的字符替换字符串中重复多次的字符?

c - uEye 相机和 OpenCV 内存访问

c++ - 如何在 visual studio 2010 C++ 中使用所需的 .dll 和 lib (opencv) 文件制作 .exe 文件包

opencv - 使用 mogrify 将 jpg 无损转换为 png

machine-learning - 逻辑回归分类器训练计数

python - 如何检测足球场的绿道和边界?

python - 为什么 Python 的 'len' 函数比 __len__ 方法快?

python pandas/numpy 根据映射方案替换所有值的快速方法

为给定文本获取合适图片的算法