Python 为什么子地块会改变我图像的颜色?
我试图从视频中提取一帧并将每一帧显示为图像。为了比较,我尝试了子绘图。打印时读取的RGB图像不同。我哪里可能错了Python 为什么子地块会改变我图像的颜色?,python,subplot,Python,Subplot,我试图从视频中提取一帧并将每一帧显示为图像。为了比较,我尝试了子绘图。打印时读取的RGB图像不同。我哪里可能错了 vid = cv2.VideoCapture(file1) num_frames = int(vid.get(cv2.cv.CV_CAP_PROP_FRAME_COUNT)) fig, ax = plt.subplots(nrows=1, ncols=3) plt.ion() for i in range(num_frames): f,img = vid.read(i)
vid = cv2.VideoCapture(file1)
num_frames = int(vid.get(cv2.cv.CV_CAP_PROP_FRAME_COUNT))
fig, ax = plt.subplots(nrows=1, ncols=3)
plt.ion()
for i in range(num_frames):
f,img = vid.read(i)
cv2.imshow("V",img)
正确读取rgb图像,但
for i in range(num_frames):
f,img = vid.read(i)
ax[0].imshow(img)
ax[1].imshow(img)
ax[2].imshow(img)
plt.draw()
plt.pause(0.01)
显示图像的颜色已更改
试试看
ax[0].imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
试一试
这可能与BGR中的图像显示有关,而不是RGB。这可能与BGR中的图像显示有关,而不是RGB。发生这种情况的原因是,您使用cv2中的imread读取图像,该图像以BGR格式读取图像,并且您使用matplotlib中的pyplot显示图像,matplotlib以RGB格式显示图像,因此,在红色和蓝色通道中存在反转。希望现在清楚发生这种情况的原因是因为您使用cv2中的imread读取图像,该图像以BGR格式读取图像,并且您使用matplotlib中的pyplot显示图像,matplotlib以RGB格式显示图像,因此在红色和蓝色通道中存在反转。希望现在天气转晴