繁体   English   中英

麻烦“cv2.imshow()”函数

[英]Trouble with “ cv2.imshow ()” function

我在python 2.7中安装了openCV和numpy库。

我已经使用命令import cv2import numpy测试了它们并编译了它们。

但是当我使用cv2.imshow('frame', ----)函数时,它会显示一个窗口但不显示图像。 它显示“框架没有响应”。

所以,我尝试使用matplotlib函数来显示图像并且它有效。

我在cv2.imshow情况下插入了cv2.imshow函数并且它工作了。

版本[Python-2.7.10,OpenCV-2.4.11]

下面是代码,

案例1:不工作,显示窗口但不显示图像(显示框架不响应)

import cv2
import numpy 

img = cv2.imread('a.jpg')
cv2.imshow('FRAME',img)

案例2:工作

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
import cv2

img = mpimg.imread('a.jpg')
img2 = cv2.imread('b.jpg')
cv2.imshow('FRAME',img2)
plt.imshow(img)
plt.show()

imshow应该跟随waitKey函数,该函数显示指定毫秒的图像。 否则,它将不显示图像。 例如,waitKey(0)将无限显示窗口,直到任何按键(适用于图像显示)。 waitKey(25)将显示一个25毫秒的帧,之后显示将自动关闭。 (如果你把它放在一个循环中来阅读视频,它将逐帧显示视频)。 这是一个有效的例子:

import cv2

img = cv2.imread('a.jpg')
cv2.imshow('FRAME', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

尝试使用像这样的imread

img = cv2.imread('a.jpg',0)#grayscale
img = cv2.imread('a.jpg',1)#rgb

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM