如何反复“侦听”图像以显示在目录中并显示几秒钟?

时间:2018-12-08 15:44:57

标签: python opencv asynchronous cv2

我已经坚持了一段时间,当我运行它并测试它时,Python一直崩溃。我正在尝试显示将在使用Flask的发布请求后创建的图像。我不知道如何通过请求显示它,因为它一直与OpenCV崩溃。因此,我要执行一个单独的脚本,该脚本将运行并连续检查图像是否显示在目录中,显示,销毁它,然后检查图像是否再次显示(例如在1或2秒后再次显示)。

我尝试过的最新代码是这样:

import os
import cv2
import time

filename = 'lewis.jpg'

def display():
  img = cv2.imread(filename)
  cv2.imshow('img', img)
  key = cv2.waitKey(2000) & 0xFF

if __name__ == '__main__':
  while True:
    display()
      cv2.destroyAllWindows()
      time.sleep(2)

1 个答案:

答案 0 :(得分:0)

如果代码具有try / except子句来捕获FileNotFoundError,则您的代码将看起来正确。或考虑采用“三思而后行”的方法:

from pathlib import Path

filename = Path('lewis.jpg')

,然后在无限循环内,使用类似以下的测试:

if filename.exists():
    display()
    ...