簡體   English   中英

我怎樣才能通過這種方法傳遞我的文件名?

[英]How could I pass my file name through this method?

我正在截屏,然后我需要參考我剛剛拍攝的照片,以便翻譯其中的內容。

當我直接將文件位置(例如“filex.png”)傳遞給readtext時,它可以工作,但我只需要將寫入的文件傳遞給它。

import easyocr
import pyautogui
import time
import cv2 
import numpy as np

reader = easyocr.Reader(['en'])
tag = 1

for i in range(2):
    time.sleep(4)
    image = pyautogui.screenshot(region=(630,400,650,130))
    image = cv2.cvtColor(np.array(image),
                     cv2.COLOR_RGB2BGR)
    tag+=1

    img = cv2.imwrite(f"image{tag}.png", image)


    results = reader.readtext(img)
    text=""
    for result in results:
        text += result[1] + " "

        print(text)

在回答您的具體問題時,我認為您正在尋找類似的東西:

import easyocr
import pyautogui
import time
import cv2
import numpy as np

reader = easyocr.Reader(['en'])
tag = 1

for i in range(2):
    time.sleep(4)
    image = pyautogui.screenshot(region=(630, 400, 650, 130))
    image = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR)
    tag += 1

    f_name = f"image{tag}.png"
    cv2.imwrite(f_name, image)
    results = reader.readtext(f_name)
    
    text = ""
    for result in results:
        text += result[1] + " "

        print(text)

您可以將文件名存儲在變量中,然后將其傳遞給imwritereadtext


還有其他選項,具體取決於您需要在程序中訪問哪些信息,以及您需要多快處理數據。

選項:將np.array直接傳遞給readtext

image = pyautogui.screenshot(region=(630, 400, 650, 130))
image = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR)
results = reader.readtext(image)

選項:將寫入文件中的數據傳遞到讀取文本readtext

f_name = f"image{tag}.png"
cv2.imwrite(f_name, image)

with open(f_name, 'rb') as f:
    results = reader.readtext(f.read())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM