2024-05-29 06:13:30 发布
网友
我得到以下信息:
在MATLAB中,如果我执行image2(redIdx),它将返回一个带有值(0,0)的2x1矩阵,如果我执行image(redIdx),它将返回一个带有值(94,83)的2x1矩阵
但在Python中,如果我执行image2[redIdx]或image[redIdx],它将返回下一个错误:索引2879485超出了大小为366的轴0的界限
如何获得与MATLAB相同的结果
在MATLAB中,当使用单个索引(相对于多个索引)对数组进行索引时,使用linear indexing。在相同的情况下,Python使用索引索引到第一个维度,返回一个切片。redIdx包含多个值这一事实与此无关,它是一个1D索引操作
redIdx
要在Python中复制线性索引,可以flatten数组,然后索引:
image.flatten('K')[redIdx]
This Q&A展示了如何从单个线性索引计算索引,这将是上述方法的一个更复杂的替代方法
在MATLAB中,当使用单个索引(相对于多个索引)对数组进行索引时,使用linear indexing。在相同的情况下,Python使用索引索引到第一个维度,返回一个切片。
redIdx
包含多个值这一事实与此无关,它是一个1D索引操作要在Python中复制线性索引,可以flatten数组,然后索引:
This Q&A展示了如何从单个线性索引计算索引,这将是上述方法的一个更复杂的替代方法
相关问题 更多 >
编程相关推荐