在 cv2.imshow() 时打印一段时间



我一直在尝试做一个简单的任务,但不幸的是我无法让它工作,我开始认为这做不到,但由于它太简单了,我可能是最愚蠢的人:

我想做的是在显示图像的同时在一段时间内打印一些值,因此如果我增加时间段,我将打印更多值。

我尝试过 while 循环、if 条件和定义。

下面是一个示例:

cpt = 0
IAPS_img = "./IAPS_Images/"
image = cv2.imread(IAPS_img + "cat.jpg")
while(True):            
cv2.imshow('image',image) 
cpt += 1
print(cpt)  
while(True):
k = cv2.waitKey(3000)
if k == 27:
break
cv2.destroyAllWindows() 

我可以使用以下命令在 cmd 中成功执行:

cd... python script1.py &
cd... python script2.py &

但无法在一个脚本中做到这一点,我这样做是因为我想拍摄一些照片而不是打印一些数字,如果我完成此操作,我可能能够以我想要的方式完成。

我愿意接受建议:

目录我这样做是因为我无法在 CMD 中完成这项工作>>>>>>"而不是打印一些数字,我想在显示图像的同时拍摄一些照片。

谢谢

您需要更改 while 循环,使其仅在设定的时间段内运行。你可以尝试这样的事情:

from datetime import datetime, timedelta
start = datetime.now()
cpt = 0
IAPS_img = "./IAPS_Images/"
image = cv2.imread(IAPS_img + "cat.jpg")
while datetime.now() - start < timedelta(seconds=5*60*60):        
cv2.imshow('image',image) 
cpt += 1
print(cpt)  
while(True):
k = cv2.waitKey(3000)
if k == 27:
break
cv2.destroyAllWindows() 

最新更新