Python 使用opencv和pyautogui与用户交互保存图像
我有下面的代码,我尝试执行以下操作: 开始拍摄相机图像,但还希望显示一个包含文本字段和“确定”按钮的对话框,用户必须在其中输入值并按下“确定”按钮,然后scritp保存图像(jpg),并使用用户传递的值命名图像Python 使用opencv和pyautogui与用户交互保存图像,python,opencv,pyautogui,Python,Opencv,Pyautogui,我有下面的代码,我尝试执行以下操作: 开始拍摄相机图像,但还希望显示一个包含文本字段和“确定”按钮的对话框,用户必须在其中输入值并按下“确定”按钮,然后scritp保存图像(jpg),并使用用户传递的值命名图像 import cv2 import time import pyautogui camera_port = 0 camera = cv2.VideoCapture(camera_port) camera.set(3, 1280)# set the resolution camera.
import cv2
import time
import pyautogui
camera_port = 0
camera = cv2.VideoCapture(camera_port)
camera.set(3, 1280)# set the resolution
camera.set(4, 1024)
emLoop = True
while (emLoop):
retval, img = camera.read()
#gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow('Foto', img)
k = cv2.waitKey(100)
if k == 27:
emLoop = False
elif k == ord('s'):
nome = input(pyautogui.prompt(text='Scanei o código.', title='Aviso:', default=''))
cv2.imwrite(nome, img)
camera.release()
cv2.destroyAllWindows()
捕获将始终处于活动状态,只要用户输入值并单击“确定”将保存图像,当用户单击“取消”对话框时,将结束捕获并终止脚本。
我正试图这样做,但到目前为止没有成功…:(函数
pyautogui.prompt
打开一个带有文本字段的对话框,用户可以在其中键入将返回的内容。这类似于函数input
的工作方式。两者都有一个字符串作为参数,作为提示消息显示给用户。区别在于前者使用终端作为输入界面而不是对话框
将它们混合在一起看起来很奇怪:nome=input(pyautogui.prompt(…)
。这意味着:打开一个对话框,用户可以键入一条提示消息,该消息将在控制台中为自己显示。然后,他再次键入将返回到nome
变量的内容
尝试以下任一方法:
nome = pyautogui.prompt(text='Scanei o código.', title='Aviso:', default='')
或者这个:
nome = input('Aviso: Scanei o código.')
出现什么错误?脚本在输入中循环,我试图更改输入以接收用户值,但无效。请尝试打印
k
。当用户单击“确定”按钮后脚本崩溃