python - 我怎样才能通过这种方法传递我的文件名?
问题描述
我正在截屏,然后我需要参考我刚刚拍摄的照片,以便翻译其中的内容。
当我直接将文件位置(例如“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)
您可以将文件名存储在变量中,然后将其传递给imwrite
两者readtext
还有其他选项,具体取决于您需要在程序中访问哪些信息,以及您需要多快处理数据。
选项: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())
推荐阅读
- apigee - Apigee 模拟器:有效的 API 密钥:但响应“InvalidApiKey”
- javascript - 如何在异步 settimeout 中获得剩余时间?
- php - 从 Ubuntu 到 SQL 服务器的 PHP ODBC 连接
- react-native - 如何在 React Native 中按值对下拉选择器选项进行排序
- c# - Entity Framework Core 将在具有本地身份验证的 Api 中发送请求的 ApplicationUser 添加到 ChangeTracker
- java - LambdaMetaFactory 装箱/拆箱参数和返回类型
- python - 如何将数据类的属性注释为另一个数据类的对象?
- telegram-bot - 如何自动化电报机器人以使用另一个机器人并从中检索信息?
- antlr4 - 使用 antlr4/grun 从单独的词法分析器和解析器语法构建语法树
- emacs - 在 emacs 迷你缓冲区中运行 gnu global