python生成24bit全彩RGB立方体的三维散点图

代码要求

生成一个 RGB 立方体的三维散点图。在这个立方体中,每个点代表一个不同的颜色,其位置由红色、绿色和蓝色通道的值决定。点的颜色则直接反映了其在 RGB 空间中的位置。
X轴代表红色通道。Y轴代表绿色通道。
Z轴代表蓝色通道。
每个点的颜色是根据其在这三个颜色通道中的位置确定的。这种视觉化展示了 RGB 颜色空间的三维性质,展现了不同颜色是如何在这个空间中分布的。

请注意,为了使图像渲染更快并且易于观察,在散点图中只使用了一部分颜色点(每隔 25 个值取一个点)。完整的 RGB 立方体将包含 256×256×256=16,777,216 个点,这会使得图像非常密集并且难以有效地渲染和观察。

python代码

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

# 创建一个 RGB 立方体的三维散点图
def plot_rgb_cube():
    # 初始化图像和 3D 轴
    fig = plt.figure()
    ax = fig.add_subplot(111, projection='3d')

    # 生成 RGB 值
    r, g, b = np.meshgrid(np.arange(0, 256, 25),
                          np.arange(0, 256, 25),
                          np.arange(0, 256, 25))

    # 降低点的数量来保证图像可以更快渲染,每种颜色间隔 25
    r = r.flatten()
    g = g.flatten()
    b = b.flatten()

    # 绘制散点图
    ax.scatter(r, g, b, c=np.stack([r, g, b], axis=1) / 255, marker='o')

    # 设置轴标签
    ax.set_xlabel('Red Channel')
    ax.set_ylabel('Green Channel')
    ax.set_zlabel('Blue Channel')

    # 设置标题
    ax.set_title('3D RGB Color Cube')

    # 显示图像
    plt.show()

plot_rgb_cube()


结果展示

在这里插入图片描述

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值