PyB*_*oss 0 python image-processing image-segmentation tensorflow pytorch
我有一张图像需要进行 OCR(光学字符识别)来提取所有数据。
首先,我想将彩色图像转换为白色背景上的黑色文本,以提高 OCR 准确性。
我尝试下面的代码
from PIL import Image
img = Image.open("data7.png")
img.convert("1").save("result.jpg")
Run Code Online (Sandbox Code Playgroud)
它给了我下面不清楚的图像
我期望有这个图像
然后,我将使用 pytesseract 来获取数据框
import pytesseract as tess
file = Image.open("data7.png")
text = tess.image_to_data(file,lang="eng",output_type='data.frame')
text
Run Code Online (Sandbox Code Playgroud)
最后,我想要得到的数据框如下
这是一个香草枕头解决方案。仅对图像进行灰度化即可获得不错的结果,但绿色文本太淡了。
因此,我们首先放大绿色通道(当然,它可能会剪辑,但这不是问题),然后对图像进行灰度化、反转和自动对比。
from PIL import Image, ImageOps
img = Image.open('rqDRe.png').convert('RGB')
r, g, b = img.split()
img = Image.merge('RGB', (
r,
g.point(lambda i: i * 3), # brighten green channel
b,
))
img = ImageOps.autocontrast(ImageOps.invert(ImageOps.grayscale(img)), 5)
img.save('rqDRe_processed.png')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1390 次 |
| 最近记录: |