cv2.namedWindow和imshow无法正常工作

时间:2020-07-14 02:17:36

标签: python opencv opencv-contrib

这段简单的代码无法正常工作。

output = cv2.namedWindow("Output", cv2.WINDOW_AUTOSIZE)
cv2.imshow(output, saliencyMap)
cv2.waitKey(0)

它应该在saliencyMap窗口内显示"Output",但它正在生成两个窗口(如下)。

我正在使用spyder编辑器,并且也收到此消息。

You might be loading two sets of Qt binaries into the same process. Check that all plugins are compiled against the right Qt binaries. Export DYLD_PRINT_LIBRARIES=1 and check that only one set of binaries are being loaded.
QObject::moveToThread: Current thread (0x7fbf1e53c600) is not the object's thread (0x7fbf1e6f0850).
Cannot move to target thread (0x7fbf1e53c600)`

enter image description here

1 个答案:

答案 0 :(得分:1)

namedWindow是一个函数,它是void函数,因此不提供任何输出值。 imshow将字符串和Mat作为输入。

正确的应该是:

import cv2

img = cv2.imread('img.png')
cv2.namedWindow("Output", cv2.WINDOW_AUTOSIZE)
cv2.imshow("Output", img)
cv2.waitKey(0)