Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于Python的图像光学字符识别_Python_Image Processing_Ocr - Fatal编程技术网

基于Python的图像光学字符识别

基于Python的图像光学字符识别,python,image-processing,ocr,Python,Image Processing,Ocr,我有Python读取并将其转换为十六进制的代码。这里的问题是,即使我给出一个空的空白图像,它也会给出十六进制数作为输出。我需要Python只处理图像中的字母表,并将其转换为十六进制,并将其作为输出 这是我厌倦的节目 import binascii filename = 'a.png' with open(filename, 'rb') as f: content = f.read() print(binascii.hexlify(content)) 这就是OCR(光学字符识别)问题

我有Python读取并将其转换为十六进制的代码。这里的问题是,即使我给出一个空的空白图像,它也会给出十六进制数作为输出。我需要Python只处理图像中的字母表,并将其转换为十六进制,并将其作为输出

这是我厌倦的节目

import binascii

filename = 'a.png'
with open(filename, 'rb') as f:
    content = f.read()

print(binascii.hexlify(content))
这就是OCR(光学字符识别)问题,在堆栈中讨论了多次

轻松地做这件事

用法:

import pytesserect
from PIL import Image

# Get text in the image
text = pytesseract.image_to_string(Image.open(filename))

# Convert string into hexadecimal
hex_text = text.encode("hex")

您的程序将为您提供图像文件的十六进制代码。如果您看到一个大小为100000字节的图像文件,您将得到200000个十六进制数字(每个字节两个)。它与图像上显示的内容无关。如果文件为空(0-length),则无法获得任何输出,并且这样的文件不能称为图像文件。另一方面,如果您想读取图像上显示的字母,则需要使用OCR库(或从机器学习库中编写OCR),和
binascii.hexlify
对于这项工作来说是一个完全错误的工具。谢谢你的回复。有可能识别不同字体风格的字符吗?是的,只要它不是手写体或书法字体的字体。你能发布图片样本吗?这有助于我们探索各种可能性。