我正在尝试使用cv2裁剪图像(将其转换为字节文件,因此不需要保存),然后执行pytesseract
这样我就不需要在这个过程中保存两次图像
过程
## CROPPING THE IMAGE REGION
ys, xs = np.nonzero(mask2)
ymin, ymax = ys.min(), ys.max()
xmin, xmax = xs.min(), xs.max()
croped = image[ymin:ymax, xmin:xmax]
pts = np.int32([[xmin, ymin],[xmin,ymax],[xmax,ymax],[xmax,ymin]])
cv2.drawContours(image, [pts], -1, (0,255,0), 1, cv2.LINE_AA)
#OPENCV IMAGE TO BYTES WITHOUT SAVING TO DISK
is_success, im_buf_arr = cv2.imencode(".jpg", croped)
byte_im = im_buf_arr.tobytes()
#PYTESSERACT IMAGE USING A BYTES FILE
Results = pytesseract.image_to_string(byte_im, lang="eng")
print(Results)
不幸的是,我得到了错误:不支持的图像对象
我错过什么了吗?有没有一种方法可以在剪切时不需要保存文件就完成此过程?非常感谢您的帮助
您有
croped
,它是一个numpy数组根据pytesseract examples,您只需执行以下操作:
相关问题 更多 >
编程相关推荐