imshow()函数显示空灰色图像。我该怎么办?

时间:2016-09-18 23:44:46

标签: python opencv

当我尝试使用cv2.imshow()时,它会显示图像一秒钟,然后使窗口变灰。我似乎无法找到任何相关信息,除了我应该使用cv2.waitKey(0),我也应该使用cv2.namedWindow()。我的代码:

import numpy as np
import cv2
import sys

cv2.namedWindow('img')
img = cv2.imread(sys.argv[1])
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows

再次,它显示图像一秒钟,然后将其灰显。提前谢谢。

1 个答案:

答案 0 :(得分:1)

  1. 检查你的sys.argv [1],尝试用真实路径替换(即" images / 1.png")
  2. destroyAllWindows()它是函数(使用括号)
  3. waitKey的参数(在你的例子中是0)它是ms的延迟,0表示"永远",延迟的默认值是0。
  4. 事实上你不需要在这里命名为Windows和destroyAllWindows
  5. 试试这个:

    import cv2
    import sys
    
    img = cv2.imread(sys.argv[1])
    cv2.imshow('img', img)
    cv2.waitKey()