我有一个numpy数组(形状:(256,256,3))的图像,

我有numpy数组索引如下.

array([[  3, 230],
       [  3, 231],
       [  3, 232],
       ...,
       [114, 151],
       [115, 149],
       [115, 150]], dtype=int64)

但是,我想得到图像的numpy array(shape:(256,256,3))的值,

索引如下.因此,我可以得到3个通道值的特定索引.

array([[  3, 230, :],
       [  3, 231, :],
       [  3, 232, :],
       ...,
       [114, 151, :],
       [115, 149, :],
       [115, 150, :]], dtype=int64)

如何获得价值观?

推荐答案

你可以直接索引到图像数组的前两个维度,如下所示:

import numpy as np

# create an example image with different entries for each channel
image = (np.ones((256, 256)) * np.arange(3).reshape(3, 1, 1)).T

idx = np.asarray([[3, 230],
                  [3, 231],
                  [3, 232],
                  [114, 151],
                  [115, 149],
                  [115, 150]], dtype=np.int64)

values = image[idx[:, 0], idx[:, 1]]

print(values)

其中打印:

[[0. 1. 2.]
 [0. 1. 2.]
 [0. 1. 2.]
 [0. 1. 2.]
 [0. 1. 2.]
 [0. 1. 2.]]

希望这对你有帮助!

Python相关问答推荐

如何使用entry.bind(FocusIn,self.Method_calling)用于使用网格/列表创建的收件箱

在应用循环中间保存pandas DataFrame

如何处理嵌套的SON?

通过优化空间在Python中的饼图中添加标签

标题:如何在Python中使用嵌套饼图可视化分层数据?

无法使用requests或Selenium抓取一个href链接

如何获取numpy数组的特定索引值?

python中字符串的条件替换

在Django admin中自动完成相关字段筛选

计算天数

如何启动下载并在不击中磁盘的情况下呈现响应?

Pandas GroupBy可以分成两个盒子吗?

Python中的变量每次增加超过1

Flask Jinja2如果语句总是计算为false&

为什么调用函数的值和次数不同,递归在代码中是如何工作的?

需要帮助使用Python中的Google的People API更新联系人的多个字段'

获取git修订版中每个文件的最后修改时间的最有效方法是什么?

如何使用pytest在traceback中找到特定的异常

PYTHON中的pd.wide_to_long比较慢

如何在Quarto中的标题页之前创建序言页