横向切割图片,再识别图片上的文字:
'''
按行将图片横切成多张小图
'''
import cv2
from PIL import Image
from crnn.crnn_torch import crnnOcr as crnnOcr # 自己的模型
im = cv2.imread("picture7.jpg")
img_size = im.shape
m = img_size[1] #读取图片的宽度
n = img_size[0] #读取图片的高度
print(m, n)
w = m # 10 #设置你要裁剪的小图的宽度
h = 47 #设置你要裁剪的小图的高度
x = 0
y = 0
i = 0
print('区域:', int(n / 3))
while True:
if i < int(n / 3):
region = im[y:y+h, 0:w] # 裁剪区域
# print(y, y + h)
cv2.imwrite("./images/img/"+str(i)+".png", region) #str(i)是裁剪后的编号
image = Image.fromarray(cv2.cvtColor(region, cv2.COLOR_BGR2RGB))
text = crnnOcr(image.convert('L'))
print(text)
else:
break
i = i + h
y = y + h