Matplotlib数据可视化——显示图片【对比OpenCV显示图片】

本文介绍如何使用Python的OpenCV库和matplotlib库来读取和显示图像,包括直接显示灰度图像和处理彩色图像的BGR到RGB的通道转换,确保图像正确显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一个是自己建立了一个矩阵当做图片显示,代码和图片如下:

A = [0.3136, 0.3654, 0.4237,
	 0.3653, 0.4396, 0.5251,
	 0.4237, 0.5251, 0.6515]

image = np.array(A).reshape(3, 3)

plt.imshow(image, interpolation='nearest', cmap='bone', origin='upper')
# 添加颜色bar,shrink表示缩放比例
plt.colorbar(shrink=1)
plt.show()

在这里插入图片描述
如果用OpenCV读取用plt显示,则有

"""
在坐标轴中显示图片
"""
import cv2
from matplotlib import pyplot as plt

img = cv2.imread('./data/lena.jpg',0)
plt.imshow(img, cmap = 'gray', interpolation = 'bicubic') //双线性插值
plt.xticks([]), plt.yticks([]) # to hide tick values on X and Y axis
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
import cv2 as cv
src = cv.imread('./data/lena.jpg', 1)
plt.imshow(src)
plt.show()

在这里插入图片描述
因为OpenCV输出的图像是BGR格式所以通道变换使得图片并非原图,办法是将图片的通道变换过来

import matplotlib.pyplot as plt
import cv2 as cv
src = cv.imread('./data/lena.jpg', 1)
b, g, r = cv.split(src)
dst = cv.merge([r, g, b])
plt.imshow(dst)
plt.show()

在这里插入图片描述
此时显示正常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

量子象限

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值