我想预处理专利牌,然后输入OCR
在我这一部分,我必须做一些一般性的事情,因为我只处理一个图像,但是以后它们会更多,并且在不同的角度
我在插入过滤器的部分,我想知道下一部分是找到轮廓还是拉直它(为此我使用hough变换)
!pip install pytesseract
import cv2
import numpy as np
import matplotlib.pyplot as plt
import pytesseract
plt.style.use('dark_background')
crop_img = cv2.imread('/content/0.png')
#IMG2GRAY
gray = cv2.cvtColor(crop_img, cv2.COLOR_BGR2GRAY)
plt.imshow(gray)
#tresh
thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]
plt.imshow(thresh)
# Otsu's thresholding after Gaussian filtering
blur = cv2.GaussianBlur(thresh,(5,5),0)
th3 = cv2.threshold(blur,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)[1]
plt.imshow(th3)
plt.show()
我的输出,我认为这是不好的:
这是图像:
这是我用HoughtTransform旋转图像时的输出:
最终结果应该是这样的(但请记住,我将对其他图像使用相同的预处理):
我用python编写了一个脚本,以找到车牌旋转的角度,然后以相反的顺序旋转,以反方向查看车牌
倾斜车牌:
您可以应用一些后处理来完全删除填充区域,但角度校正对于任何探测器来说都是最重要的部分
要点链接:https://gist.github.com/zabir-nabil/dfb78f584947ebdb9f29d39c9737b5c6
相关问题 更多 >
编程相关推荐