我有一张打印文本的灰度图像.我想从图像中提取每个字符,这样我就可以将它们保存为离散图像.我不想要recognise个字符是什么,我只想每个字形作为一个单独的文件.
我用的是cv2
,例如:
# Find contours to isolate individual letters
contours, _ = cv2.findContours(binary_image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)`
这对于连续的字符非常有效--也就是说,字形的形状没有断点.
但它对i
、j
、:
和;
这样的字符不起作用-顶部的圆点不包括在内.
有没有办法使用CV2来检测这些字符?我知道这份文件只使用了拉丁字母、数字和标点符号.
这份文档使用了相当古老的字体,在Tesseract或其他传统的OCR引擎上不能很好地工作--这就是为什么我想要detect个字母,而不是试图recognise个.