我正在尝试检测线图像的单词坐标。
利用水平直方图投影实现了直线分割。
现在我需要在这张线图像中进行分词。
我试过这种算法。
上述算法工作良好,但缩小了图像的大小。它影响了单词的大小。
因此,我需要一些帮助,在不缩小图像大小的情况下进行分词。
我也尝试过一些方法,但它只适用于几行图像。
gray = cv2.cvtColor(line_image, cv2.COLOR_BGR2GRAY)
ret, thresh1 = cv2.threshold(gray, 0, 255, cv2.THRESH_OTSU | cv2.THRESH_BINARY_INV)
rect_kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (59,59))
dilation = cv2.dilate(thresh1, rect_kernel, iterations =1)
contours, hierarchy = cv2.findContours(dilation, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
boundary=[]
for c,cnt in enumerate(contours):
x,y,w,h = cv2.boundingRect(cnt)
boundary.append((x,y,w,h))
k=sorted(boundary)
print(boundary)上面的代码只适用于少数几幅图像。
样本图像

我需要一些帮助,在不减少图像大小(高度或宽度)的情况下进行分词。
发布于 2022-09-09 07:55:16
如果分割算法符合您的口味(即使是在这张困难的图像上),只需使用它并将结果“降”回原来的图像分辨率。这很容易。
https://stackoverflow.com/questions/73658899
复制相似问题