首页 > 解决方案 > 如何使用opencv从文本图像中分离连接和融合的字符

问题描述

我一直在开发一个ocr系统。我能够相当容易地从图像中分割出线条和单词,但我完全坚持字符分割。我如何从这些块中提取字符。我在论坛上阅读了很多答案,但它们已应用于两个字符之间有足够间距的文本。我曾尝试使用直方图方法将字符从单词中分离出来,但结果并不令人满意。我的话是这样的。人物相互接触的图像另一个样本。阈值处理只会通过进一步融合字符来增加问题。如何分割这些字符。这是我到目前为止所做的:函数接受一个二维列表,其中包含要分割的大小为 500*500 像素的单词:

import cv2
import numpy as np
def character_detector(words):
    characters=[]
    kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(3,3))
    for i in words:
        j=i
        l=[]
        for k in j:
            s=k
            f=k
            from cv2.ximgproc import THINNING_ZHANGSUEN
            s   =   cv2.ximgproc.thinning(k,s,thinningType=THINNING_ZHANGSUEN )
            s = cv2.dilate(s,kernel,iterations=3)
            k = cv2.threshold(k,75,255,cv2.THRESH_OTSU)[1]
            m = cv2.Canny(k,100,200)
            k=k-m
            i=0
            while i<5:
                m = cv2.Canny(k,100,200)
                k = k-m
                i+=1
            y_sum = cv2.reduce(k, 0, cv2.REDUCE_AVG)
            y_sum=y_sum[0]
            y_avg = sum(y_sum)//500
            hist =[]
            for i in range(0,500):
                if(y_sum[i]==0):
                    hist.append(False)
                else:
                    hist.append(True)
            j=1
            y_start=0
            y_end = 0
            y_coord=[]
            i=0
            while i<500:
                j=1
                if not(hist[i]):
                    i=i+1
                    continue
                else:
                    y_start = i
                    temp = i
                    j=0
                    while temp<500 and hist[temp]:
                        temp+=1
                        j+=1
                    i= i+j
                    y_end = y_start+j
                    y_coord.append((y_start,y_end))

            for i in range (0,len(y_coord),1):
                roi = f[0:500,y_coord[i][0]:y_coord[i][1]]
                cv2.imshow('thresh',roi)
                cv2.waitKey(0)
                cv2.destroyAllWindows()

标签: imageopencvhistogram

解决方案


推荐阅读