**opencv读取并显示图片的过程中,显示图片为一片空白
**
import cv2
import numpy as np
img = cv2.imread("2.jpeg")
#img = img / 255
cv2.imshow("1", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
**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
因为我能正确显示