gpt4 book ai didi

python - Python 中使用 numpy 数组进行高效的逐元素乘法

转载 作者:行者123 更新时间:2023-11-30 23:09:40 25 4
gpt4 key购买 nike

我有一个 np.int64 类型的 numpy 数组,我正在尝试对其应用公式。

假设该数组是一个名为 total_img 的二维数组,其尺寸为 400 X 300 像素。对于每个像素,我想计算以下公式。 px = 255*(最小值 - px)/(最小值 - 最大值)。我希望这些重新缩放的像素始终存储在 total_img 中。如何使用 numpy 数组有效地实现这一点?

注意,minmax 只是第 1 个百分位数和第 99 个百分位数值,实际上存储为 float 。我是否应该将它们转换为整数以获得更好的准确性(记住total_img是np.int64类型 - 永远不会发生溢出)。而且 min 很可能为负数。

我正在使用:

for row in total_img:
for px in row:
px = 255*(min-px)/(min - max)

最佳答案

total_img = 255*(min - total_img)/(min - max)

您实际上只需插入 total_img 而不是 px,它就会按元素执行操作。如果您想将结果存储到原始 total_img 中而不是替换它,您可以切片分配:

total_img[:] = 255*(min - total_img)/(min - max)

但请注意,这实际上并不能节省任何时间或内存。

关于python - Python 中使用 numpy 数组进行高效的逐元素乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31038367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com