如何在Python中使用cv2显示图像

35 浏览
0 Comments

如何在Python中使用cv2显示图像

我一直在使用代码来显示电影帧。代码的基本结构如下:

import cv2
import matplotlib.pyplot as plt
# 读取单帧avi
cap = cv2.VideoCapture('singleFrame.avi')
rval, frame = cap.read()
# 尝试使用cv2显示(不起作用)
cv2.namedWindow("Input")
cv2.imshow("Input", frame)
# 使用matplotlib显示图像(有效)
b,g,r = cv2.split(frame)
frame_rgb = cv2.merge((r,g,b))
plt.imshow(frame_rgb)
plt.title('Matplotlib') #给这个图加个标题,这样我就知道它是来自matplotlib而不是cv2
plt.show()

因为我可以使用matplotlib显示图像,所以我知道我成功地读取了它。

我不明白为什么我创建窗口并尝试使用cv2显示图像时不起作用。没有cv2窗口出现。但奇怪的是,如果我再创建一个cv2窗口,'input'窗口就会出现,但它只是一个空白/白色的窗口。

我在这里漏掉了什么?

0