lumen 做企业网站,我想开个网店不知道怎么入手,网页制作模板主题,网站建设方案书制作一、目的
原始图片用pytesseract识别文字#xff0c;精准度往往没达到预期。使用opencv处理后#xff0c;提高识别精准度。处理方法有
a.图片转成白底黑字。
b.截取图片某固定区域。这个很重要#xff0c;因为图片包含图标或其他形状图形#xff0c;辨识导致错乱的。 二…一、目的
原始图片用pytesseract识别文字精准度往往没达到预期。使用opencv处理后提高识别精准度。处理方法有
a.图片转成白底黑字。
b.截取图片某固定区域。这个很重要因为图片包含图标或其他形状图形辨识导致错乱的。 二、opencv 处理
import cv2#加载图片
image cv2.imread(filePath)#截取矩形区域
# 格式[y1: y2, x1: x2] , (x1,y1)矩形左上角(x2,y2)矩形右下角.
image image[180:550, 55:280]#灰度转换
GrayImage cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)#二值化 # cv2Type int类型# 0. cv2.THRESH_BINARY# 表示阈值的二值化操作大于阈值使用maxval表示小于阈值使用0表示# # 1. cv2.THRESH_BINARY_INV# 表示阈值的二值化翻转操作大于阈值的使用0表示小于阈值的使用最大值表示# ret, thresh2 cv2.threshold(GrayImage, 88, 255, cv2.THRESH_BINARY_INV)#cv2Threshold 阈值ret, thresh2 cv2.threshold(GrayImage, cv2Threshold, 255, cv2Type)#ocr 辨识
# output_typeOutput.DICT 将获取具体辨识数据用于后期处理。
results pytesseract.image_to_data(thresh2, output_typeOutput.DICT, langeng)
写文字画矩形 for i in range(0, len(results[text])):text results[text][i].strip()tmp_tl_x results[left][i]tmp_tl_y results[top][i]tmp_br_x tmp_tl_x results[width][i]tmp_br_y tmp_tl_y results[height][i]#写字cv2.putText(thresh2, text, (tmp_tl_x, tmp_tl_y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 255), 1)#画矩形cv2.rectangle(image, (tmp_tl_x, tmp_tl_y), (tmp_br_x, tmp_br_y), (0, 255, 255), 2) 参考https://livezingy.com/pytesseract-image_to_data_locate_text/