【问题标题】:Saving files temporarily in Python?在 Python 中临时保存文件?
【发布时间】:2017-06-23 08:55:39
【问题描述】:

我想将使用 PIL 制作的已处理实时图像临时保存为 PNG,以便将其传递给 Tesseract。

您可能已经注意到,这将是一个 OCR 项目。 我尝试过使用 StringIO 和 BytesIO,但我发现的信息不是很具体,我仍然不确定如何在我的小程序中实现它。

我对 Python 和一般编程都很陌生,所以如果你给我一个答案,请详细说明你的解释。 如果有任何更好的方法可以做到这一点,请告诉我!

提前谢谢你!

import numpy as np
from PIL import ImageGrab
import cv2

def processed_img(image):
    proc_img = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    proc_img = cv2.adaptiveThreshold(proc_img,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,\
                                     cv2.THRESH_BINARY,11,2)
    return proc_img

def main():
    while(True):
        screen = np.array(ImageGrab.grab([2165, 450, 3020, 740]))
        new_screen = processed_img(screen)
        cv2.imshow('window',new_screen)
        if cv2.waitKey(25) & 0xFF == ord('q'):
            cv2.destroyAllWindows()
            break

main()

【问题讨论】:

标签: python opencv python-imaging-library ocr temp


【解决方案1】:

io.BytesIO() 可以用于此。

您可以自己弄清楚如何实现它。这是一个示例代码

from PIL import Image
from io import BytesIO

img = Image.open(somePath)
... # do other stuff
temp = BytesIO()
img.save(temp)

那么你就可以使用temp.getvalue()来访问图片的二进制文件了。

【讨论】:

    猜你喜欢
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-13
    • 1970-01-01
    • 2015-09-18
    相关资源
    最近更新 更多