OpenCV显示灰色窗口

16 投票
2 回答
22998 浏览
提问于 2025-04-17 10:25

我正在尝试用OpenCV显示一张图片。我有以下这段非常基础的代码:

import cv2

img = cv2.imread('myimage.png', 0)  # Reads a Gray-scale image
img2 = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
cv2.imshow("window", img2)

窗口正常打开,大小也对,但它是灰色的——没有显示图片。图片读取得很好(在调试器中查看img和img2时,我看到的是预期的值,而不仅仅是一个色调)。

注意:显然我打算在显示图片之前进行一些图像处理,但首先我需要能够看到这张图片……

2 个回答

-1

有时候,图像的大小可能会太大,导致imshow()无法正常显示。
你可以尝试通过以下方式来调整图像的大小:

dimensions = (400,800)
image= cv2.imread('myimage.png', 0)
resized = cv2.resize(image, dimensions, interpolation = cv2.INTER_AREA)
cv2.imshow("window", resized )
45

好的,明白了。

原来我需要让OpenCV开始处理一些事件,它之前没有处理WM_PAINT这个事件。加上cv2.waitKey()之后,这个问题就解决了。

撰写回答