zoukankan      html  css  js  c++  java
  • pytesseract 识别率低提升方法

    pytesseract 识别率低提升方法

    一.跟换识别语言包

    下载地址https://github.com/tesseract-ocr/tessdata

    二.修改图片的灰度

    from PIL import Image
    from PIL import ImageEnhance
    import pytesseract
    img = Image.open('sanyecao.jpg')
    img = img.convert('RGB')  #这里也可以尝试使用L
    enhancer = ImageEnhance.Color(img)
    enhancer = enhancer.enhance(0)
    enhancer = ImageEnhance.Brightness(enhancer)
    enhancer = enhancer.enhance(2)
    enhancer = ImageEnhance.Contrast(enhancer)
    enhancer = enhancer.enhance(8)
    enhancer = ImageEnhance.Sharpness(enhancer)
    img = enhancer.enhance(20)
    text=pytesseract.image_to_string(img)
    

    三.结合cv2,np对于图片处理后在进行读取

    这个情况有很多种,也不说了,可以自己去尝试,简单写个调整图片亮度

    #调整亮度
    filename = "sanyecao.jpg"
    img = cv2.imread(filename, 0)
    print(np.shape(img))
    kernel = np.ones((1,1), np.uint8)
    dilate = cv2.dilate(img, kernel, iterations=1)
    cv2.imwrite('new_dilate.jpg', dilate)
    
    #还有些常用的方法
    cv2.Canny
    cv2.erode
    cv2.rectangle
    
    
    original_img = cv2.imread("qingwen.png", 0)
    
    # canny(): 边缘检测
    img1 = cv2.GaussianBlur(original_img,(3,3),0)
    canny = cv2.Canny(img1, 50, 150)
    
    # 形态学:边缘检测
    _,Thr_img = cv2.threshold(original_img,210,255,cv2.THRESH_BINARY)#设定红色通道阈值210(阈值影响梯度运算效果)
    kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(5,5))         #定义矩形结构元素
    gradient = cv2.morphologyEx(Thr_img, cv2.MORPH_GRADIENT, kernel) #梯度
    
    cv2.imshow("original_img", original_img) 
    cv2.imshow("gradient", gradient) 
    cv2.imshow('Canny', canny)
    
  • 相关阅读:
    AVCODEC_MAX_AUDIO_FRAME_SIZE 未定义标识符
    ffmpeg -使用总结
    ubuntu 编译安装ffmpeg
    转-查看Linux CPU个数,核心,线程数
    fpga是什么
    div自适应水平垂直居中的方法
    css百分比问题——`top`、`left`、'translate'的百分比参照谁?
    经典面试题:二分查找/折半查找
    JavaScript预解析
    React--组件
  • 原文地址:https://www.cnblogs.com/pythonywy/p/12258681.html
Copyright © 2011-2022 走看看