# 使用matplotlib绘制3D图像时插入图片

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

Change the color from BGR to RGB
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

Orgird to store data
x, y = np.ogrid[0:img.shape[0], 0:img.shape[1]]
In Python3 matplotlib assumes rgbdata in range 0.0 to 1.0
img = img.astype('float32')/255
fig = plt.Figure()
gca do not work thus use figure objects inbuilt function.

Plot data
rstride，cstride相当于设置图片显示的像素，当两项均等于1的时候相当于我写的程序
ax.plot_surface(x, y, np.atleast_2d(0), rstride=10, cstride=10, facecolors=img)
fig.show() # Throws a AttributeError

matplotlib的3D的画图应该是没有直接提供插入图片的选项的，那自己划入图片的思维最简单就是一个一个的写入。

img = Image.open('african.jpg')
width = img.size[0]
height = img.size[1]

x = np.arange(0,width)
y = np.arange(0,height)
x,y = np.meshgrid(x,y)
z = np.zeros(width*height)

color = []
for i in range(width):
for j in range(height):
rgb= tuple(np.array(pix[i, j])/255)
color.append(rgb)

ax.scatter(x,y,z,c = color,alpha = 1)

from PIL import Image
import numpy as np
from matplotlib import pyplot as plt

&#x521B;&#x5EFA;3D&#x5BF9;&#x8C61;
fig = plt.figure(figsize=(20,8),dpi=100)

&#x8BFB;&#x53D6;&#x56FE;&#x7247;
img = Image.open('test.jpg')
&#x83B7;&#x53D6;&#x56FE;&#x7247;&#x957F;&#x5BBD;
width = img.size[0]
height = img.size[1]
&#x521B;&#x5EFA;x,y&#x8F74;&#x7684;&#x957F;&#x5EA6;
x = np.arange(0,width)
y = np.arange(0,height)
x,y = np.meshgrid(x,y)
z = np.zeros(width*height)
&#x5EFA;&#x7ACB;&#x5217;&#x8868;&#xFF0C;&#x540E;&#x671F;&#x4F7F;&#x7528;
color = []
&#x904D;&#x5386;&#x957F;&#x5BBD;&#xFF0C;&#x83B7;&#x5F97;&#x6BCF;&#x4E2A;&#x50CF;&#x7D20;&#x70B9;&#x7684;RGB&#x503C;
for i in range(width):
for j in range(height):
# &#x8F6C;&#x5316;rgb&#x4E3A;&#x76F8;&#x5BF9;&#x5360;&#x6BD4;&#x7684;&#x5143;&#x7EC4;
rgb= tuple(np.array(pix[i, j])/255)
color.append(rgb)

&#x5728;z=0&#x7684;&#x5E73;&#x9762;&#x4E0A;&#x4F5C;&#x56FE;

&#x8BBE;&#x7F6E;&#x989C;&#x8272;&#xFF0C;&#x50CF;&#x7D20;
ax.scatter(x,y,z,c = color,alpha = 1)
plt.show()

Original: https://blog.csdn.net/weixin_44018617/article/details/120004665
Author: Leonardo Zhou
Title: 使用matplotlib绘制3D图像时插入图片

(0)

### 大家都在看

• #### vulnhub靶场之DOUBLETROUBLE: 1

准备： 攻击机：虚拟机kali、本机win10。 靶机：DOUBLETROUBLE: 1，网段地址我这里设置的桥接，所以与本机电脑在同一网段，下载地址：https://downlo…

Python 2023年10月15日
026
• #### 使用ChatGpt做考试卷: 助力拿高分的利器

注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

Python 2023年2月4日
0145
• #### GPT系列学习笔记：GPT、GPT2、GPT3

注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

Python 2023年1月23日
0218
• #### Python数据分析 数据清洗 清洗错误数据

【小白从小学Python、C、Java】【Python-计算机等级考试二级】【Python-数据分析】Python数据分析数据清洗清洗错误数据 选择题 以下python代码会输出什…

Python 2023年8月6日
029
• #### 数据分析-数据预处理

注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

Python 2023年1月9日
080
• #### 全球名校AI课程库（1）| 吴恩达·深度学习专项课程『Deep Learning Specialization』

🏆 课程学习中心; | 🚧 深度学习课程合辑 | 🌍 课程主页 | 📺 中英字幕视频 | 🚀 项目代码解析 | 📚 完整学习笔记 课程介绍 人工智能正在改变许多行业。本门课程可以帮…

Python 2023年10月24日
027
• #### 数据库课程设计——员工培训管理系统

注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

Python 2023年1月5日
0102
• #### 计算机毕业设计Python+Django基于python寻人失物失物招领系统(源码+系统+mysql数据库+Lw文档）

注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

Python 2022年12月26日
084

注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

Python 2023年1月2日
081
• #### Python_numpy函数入门

注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

Python 2022年9月3日
0453
• #### Yolov5算法解读

注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

Python 2023年2月1日
0120
• #### 【-1066598274 (0xC06D007E)】解决matplotlib版本冲突问题

注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

Python 2022年12月24日
0170
• #### Linux设备驱动开发之设备树(Device Tree)

注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

Python 2023年2月5日
0114
• #### Django实用功能汇总

文章目录 hello world * 创建django项目 启动 路由 * 主路由 path转换器 请求与响应 – HttpRequest对象 HttpRespond对…

Python 2023年8月3日
021
• #### Docker+Jenkins+Selenium+Pytest+JMeter持续集成交付实战

注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

Python 2023年1月18日
0112
• #### Pytest_allure 数据驱动框架分享

啊哦~你想找的内容离你而去了哦 内容不存在，可能为如下原因导致： ① 内容还在审核中 ② 内容以前存在，但是由于不符合新 的规定而被删除 ③ 内容地址错误 ④ 作者删除了内容。 可…

Python 2023年9月13日
042