近期项目需要需要对图片的中的文字进行识别,开始的想法是使用开源的Tesseract-OCR进行识别
这个对单纯的白底黑字的印书体是没有问题的,但是对于一些比较复杂的图片(非纯粹的字母)就
有点儿为难了,由于这块位置比较固定,所以考虑先把这块带有文字的位置裁剪出来,再进行识
别,果然效果显著。
话不多说,直接上代码
import cv2 as cv
def main():
# 读取需要识别的数字字母图片,并显示读到的原图
img = cv.imread("../aaa.png")
print(img.shape) #这里会返回三个值 (673,1084,3)图片的高,图片的宽,色彩通道
cropped = img[52:140, 700:980] # 裁剪坐标为[y0:y1, x0:x1]
imagename = ''
cv.imwrite("../abcc.png", cropped)
src = cv.imread("../abcc.png")
cv.waitKey(0)
cv.destroyAllWindows()
if __name__ == "__main__":
main()
需要注意的是
cropped = img[52:140, 700:980] # 裁剪坐标为[y0:y1, x0:x1]
这里的值一定要看清楚了,否则就会报错,超出区域,前边是是设置两个y坐标,后边是设置两个x坐标
好了就到这里,下一篇为大家分享如何用裁剪出来的图片进行文字提取