Python 显示图像opencv+;使用imshow+;侍者

Python 显示图像opencv+;使用imshow+;侍者,python,opencv,python-3.6,python-3.7,opencv4,Python,Opencv,Python 3.6,Python 3.7,Opencv4,我最近将一个项目的python/opencv升级为python 3.7+opencv 4.3.0,现在我对opencvs imshow有一个问题。我正在运行Ubuntu18.04,正在使用conda venvs 我尝试多次重新运行这段代码,一半时间正确显示白色图像,一半时间正确显示下面的图像()。打印输出()总是相同的。我尝试将它从waitKey(0)更改为waitKey(1000),但这没有什么区别。仍然有大约一半的时间我只看到一个小小的黑色图像 有人知道如何调试这个吗?我试着查看Pychar

我最近将一个项目的python/opencv升级为python 3.7+opencv 4.3.0,现在我对opencvs imshow有一个问题。我正在运行Ubuntu18.04,正在使用conda venvs

我尝试多次重新运行这段代码,一半时间正确显示白色图像,一半时间正确显示下面的图像()。打印输出()总是相同的。我尝试将它从waitKey(0)更改为waitKey(1000),但这没有什么区别。仍然有大约一半的时间我只看到一个小小的黑色图像

有人知道如何调试这个吗?我试着查看Pycharms日志文件,但它们没有更多的细节。我还尝试直接从命令行运行它,但这也会产生同样的问题。还试图删除该环境并创建了一个新环境,重新安装了opencv,但也遇到了同样的问题。当我创建一个3.6环境时,我没有这个问题,但这不再是一个选项。我需要python3.7来支持其他一些不支持3.6中某些功能的软件包

我收到了一条关于libcanberra gtk丢失的警告,并在另一篇帖子中发现它可能会引起问题。因此,我使用
sudo apt install libcanberra gtk module libcanberra-gtk3-module安装了它,警告消失了。遗憾的是,这个问题没有

import numpy as np
import cv2
if __name__ == '__main__':
     img = np.ones((255, 255, 3), dtype=np.uint8)*255
     print(img.shape)
     print(img.dtype)
     print(img.min())
     print(img.max())
     cv2.imshow("i", img)
     cv2.waitKey(0)


我想没有问题。图像的左上半部分是白色的,就像它应该的那样。其余的未定义。我建议将绿色通道和蓝色通道等同于零,只将红色通道保留为255,以确保情况属实。

我认为没有问题。图像的左上半部分是白色的,就像它应该的那样。其余的未定义。我建议将绿色通道和蓝色通道等同于零,只将红色通道保留为255,以确保情况属实。

opencv 4.3.0.36也存在此问题。重新启动我的代码3-5次后,它就会工作。 Opencv和Opencv conrib 4.3.0.36。 在版本4.2中工作良好,但我需要opencv 4.3.0.36。 这是什么虫子


我在opencv 4.3.0.36中也遇到了这个问题。重新启动我的代码3-5次后,它就会工作。 Opencv和Opencv conrib 4.3.0.36。 在版本4.2中工作良好,但我需要opencv 4.3.0.36。 这是什么虫子


我将opencv版本降级为4.2.0,这似乎奏效了<代码>img=np.zero([100100,3],dtype=np.uint8)img.fill(255)
你可以试试这个工具我把我的opencv版本降到了4.2.0,这似乎奏效了
img=np.zero([100100,3],dtype=np.uint8)img.fill(255)
您也可以试试这个