arrays - 有效地将 {coordinate+value} 集绘制到(numpy 数组)位图
问题描述
假设我有一组像素值,例如
> S[42]
6, 2, (0.1, 0, 0)
^ 这里第 42 项是用于像素位置(6,2)
的暗红色。
如何有效地绘制S
成一个新的 numpy 位图数组bitmap = np.zeros((1024, 768, 3))
?
是否有一些矢量化解决方案(而不是for
循环)?
我可以S
按列拆分为S_x
,如果有帮助的话S_y
。S_RGB
解决方案
这就是你的做法,是的,拆分是有帮助的,并使用我在下面的相同数据类型
bitmap = np.zeros((10, 10, 3))
s_x = (1,2,3) ## tuple
s_y = (0,1,2) ## tuple
pixal_val = np.array([[0,0,1],[1,0,0],[0,1,0]]) ## np
bitmap[s_y, s_x] = pixal_val
plt.imshow(bitmap)
输出:
编辑:
它确实可以使用 numpy 数组作为坐标,但请确保它们是 int 类型
bitmap = np.zeros((10, 10, 3))
s_x = np.array([a for a in range(10)], dtype=int)
s_y = np.array([a for a in range(10)], dtype=int)
np.random.shuffle(s_x)
np.random.shuffle(s_y)
pixel_val = np.random.rand(10,3)
bitmap[s_y, s_x] = pixel_val
plt.imshow(bitmap)
最终编辑: s_x ans s_y 我在上面修复的错误方式
推荐阅读
- excel - 转置并粘贴到运行列表
- .net - 如何让 DotNet Core 3.0 识别来自 DotNet Framework 的某些语句?
- javascript - React/React Hooks:当用户取消选中复选框时需要触发输入验证
- android - Android Kotlin 协程单元测试
- python - 将多个不同长度的列表写入python中的csv,每个列表都有不同的列名
- node.js - 重启子进程
- shell - 如何通过管道输出需要文件参数的命令
- python - 如何查询数据库以获取每个值是具有相同日期值的记录数之和的列表?
- ruby - 红宝石有什么用?方法呢?
- java - 使用 DOM 解析器从 XML 中读取注释