cv2.namedWindow 并且 imshow 无法正常工作

cv2.namedWindow and imshow is not working properly

这段简单的代码不起作用。

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

它应该在 "Output" window 中显示 saliencyMap 但它正在生成两个 windows(下图)。

我正在使用 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)`

namedWindow is a function and it is void function so it gives nothing as output value. imshow 将字符串和 Mat 作为输入。

正确的应该是:

import cv2

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