本人在做advanced+east图片文字区域识别后要进行图片区域剪,并送到tesseract里进行识别。
在这里把找到左上,右下两个顶点的代码分享给大家:
找到(x1,y1)(x2,y2)后就可以简单的利用opencv进行裁剪了,完整的读取txt、找坐标、裁剪并识别的代码链接:
(https://download.csdn.net/download/shuishuishuitian/12766663)
file = open('')
sourceInLine = file.readlines()
length = len(sourceInLine) # 有几个分割区域
test = [[] * 8 for _ in range(length)] # 创建数组
yarray = [[] * 4 for _ in range(length)] # 创建纵坐标数组
xarray = [[] * 4 for _ in range(length)] # 创建横坐标数组
# k = 0
for i in range(length): # 循环sourceInLine数组行数
str1 = sourceInLine[i]
b1 = str1.count(',')
a1 = b1 + 1 # 找到每一行有多少个坐标
for j in range(a1):
test[i][j] = sourceInLine[i].split(',')[j] # 把每一行的坐标赋到二维数组里
if j % 2 == 1:
yarray[i].append(test[i][j]) #= sourceInLine[i].split(',')[j]
# k = k + 1
else: # 判断x,y坐标
xarray[i].append(test[i][j]) #= sourceInLine[i].split(',')[j]
# print(x)
y1 = int(float(min(yarray[i])))
y2 = int(float(max(yarray[i])))
x1 = int(float(min(xarray[i])))
x2 = int(float(max(xarray[i])))
print(x1,',',y1,x2,',',y2)