python图片二值化提高识别率代码实例

yipeiwu_com6年前Python基础

这篇文章主要介绍了python图片二值化提高识别率代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

代码如下

import cv2from PIL import Imagefrom pytesseract import pytesseractfrom PIL import ImageEnhanceimport reimport string
def createFile(filePath,newFilePath):

  img = Image.open(filePath)

  # 模式L”为灰色图像,它的每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度。
  Img = img.convert('L')
  Img.save(newFilePath)

  # 自定义灰度界限,大于这个值为黑色,小于这个值为白色
  threshold = 200

  table = []
  for i in range(256):
    if i < threshold:
      table.append(0)
    else:
      table.append(1)

  # 图片二值化
  photo = Img.point(table, '1')
  photo.save(newFilePath)
if __name__ == '__main__':
createFile(r'1.bmp',r'newTest.png')

原图:

处理过后的图:

识别结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Django CBV与FBV原理及实例详解

Django CBV与FBV原理及实例详解

一、FBV FBV(function base views) 就是在视图里使用函数处理请求。 二、CBV CBV(class base views) 就是在视图里使用类处理请求。 P...

Python加载带有注释的Json文件实例

由于json文件不支持注释,所以如果在json文件中标记了注释,则使用python中的json.dump()无法加载该json文件。 本文旨在解决当定义“//”为json注释时,如何正确...

浅析Python中yield关键词的作用与用法

前言 为了理解yield是什么,首先要明白生成器(generator)是什么,在讲生成器之前先说说迭代器(iterator),当创建一个列表(list)时,你可以逐个的读取每一项,这就叫...

介绍Python中的一些高级编程技巧

 正文: 本文展示一些高级的Python设计结构和它们的使用方法。在日常工作中,你可以根据需要选择合适的数据结构,例如对快速查找性的要求、对数据一致性的要求或是对索引的要求等,...

Python使用minidom读写xml的方法

本文实例讲述了Python使用minidom读写xml的方法。分享给大家供大家参考。具体分析如下: 一 python提供的xml支持 2种工业标准的xml解析方法-SAX和DOM。SAX...