Python中调用matplotlib库三维可视化图像像素曲面分布

发布时间:2024年01月09日

为了更直观的从3D视角观察一副图像的像素分布,且拖动观察没一个像素细节,可以使用下面代码实现。

一、代码

使用代码修改修改的地方如下:
在这里插入图片描述

具体实现代码如下:



import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import cv2

# 读取图像
img = cv2.imread('Images/input-resize_480360/4.bmp')

# 获取图像的高度和宽度
h, w = img.shape[:2]

# 创建一个新的图像窗口
fig = plt.figure()

# 创建3D坐标轴
ax = fig.add_subplot(111, projection='3d')

# 获取x, y坐标网格
x, y = np.mgrid[0:h, 0:w]

# 绘制曲面,使用图像的颜色
ax.plot_surface(x, y, img[:,:,0], rstride=1, cstride=1, facecolors=img/255, shade=False)

# 显示图像
plt.show()

二、效果展示

测试图像如下:
在这里插入图片描述
将图像读入后,等待就会弹出三维统计图,可以随意拖动观察每个角度,如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

文章来源:https://blog.csdn.net/qq_40280673/article/details/135484990
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。