opencv显示图片一片空白

问题遇到的现象和发生背景

**opencv读取并显示图片的过程中,显示图片为一片空白
**

问题相关代码,请勿粘贴截图
import cv2
import numpy as np

img = cv2.imread("2.jpeg")
#img = img / 255
cv2.imshow("1", img)
cv2.waitKey(0)
cv2.destroyAllWindows()


运行结果及报错内容

img

我的解答思路和尝试过的方法

**1.未写waitkey:补充waitkey(0)后仍然无法解决
2.重新下载opencv:仍然无法解决
**

我想要达到的结果

希望能正确读取图片并显示图片内容

(1)估计你的当前目录下没有 2.jpeg 这个图像文件,请检查一下;
(2)可以用 print(img.shape) 查看一下。

按说不应该这样
(1)可以检查一下 img 数组的具体内容,例如 print(img.max(), img.min())
(2)可以尝试随机产生一幅图片进行显示:

    # 1.14 Numpy 创建图像
    # 创建彩色图像(RGB)
    # (1) 通过宽度高度值创建多维数组
    width, height, channels = 400, 300, 3  # 行/高度, 列/宽度, 通道数
    imgEmpty = np.empty((width, height, channels), np.uint8)  # 创建空白数组
    imgBlack = np.zeros((width, height, channels), np.uint8)  # 创建黑色图像 RGB=0
    imgWhite = np.ones((width, height, channels), np.uint8) * 255  # 创建白色图像 RGB=255
    # (2) 创建相同形状的多维数组
    img1 = cv2.imread("../images/imgLena.tif", flags=1)  # flags=1 读取彩色图像(BGR)
    imgBlackLike = np.zeros_like(img1)  # 创建与 img1 相同形状的黑色图像
    imgWhiteLike = np.ones_like(img1) * 255  # 创建与 img1 相同形状的白色图像
    # (3) 创建彩色随机图像 RGB=random
    import os
    randomByteArray = bytearray(os.urandom(width * height * channels))
    flatNumpyArray = np.array(randomByteArray)
    imgRGBRand = flatNumpyArray.reshape(width, height, channels)

    # (4) 创建灰度图像
    imgGrayWhite = np.ones((width, height), np.uint8) * 255  # 创建白色图像 Gray=255
    imgGrayBlack = np.zeros((width, height), np.uint8)  # 创建黑色图像 Gray=0
    imgGrayEye = np.eye(width)  # 创建对角线元素为1 的单位矩阵    
    randomByteArray = bytearray(os.urandom(width * height))
    flatNumpyArray = np.array(randomByteArray)
    imgGrayRand = flatNumpyArray.reshape(width, height)  # 创建灰度随机图像 Gray=random   

详见 https://blog.csdn.net/youcans/article/details/121174586

我跑了你代码,成功显示,,人麻了。同求一个解决方案。
当然,plan B:


import matplotlib.image as mpimg
import matplotlib.pyplot as plt

image1 = mpimg.imread("2.jpeg")
plt.figure()
plt.imshow(image1)
plt.savefig('image100.png')

成功运行程序后,会在你当前目录下新增一个"image100.png“”
双击打开,我们换个方式观察。
(所以导致你出现这个问题的原因是什么呢?)

试试这个

cv2.namedWindow("1", cv2.WINDOW_NORMAL)
cv2.imshow("1", img)

或者不要注释归一化操作
再不然就是opencv的问题,重装试试
pip install opencv-python
因为我能正确显示

img