此问题在此处已有答案:
Avoid overflow when adding numpy arrays(7个答案)
10天前关闭。
我想实现一个工具来调整RGB图像的亮度,它只是一个dtype uint8
的 (N,M,3) 形状的numpy数组。
这个算法非常简单,我只是把[-255, 255]
范围内的一个整数加到我的图像的所有像素上。
不幸的是,我还需要截断得到的像素值以保持在范围[0,255]内,并且numpy在我添加该值时使数组溢出。
有没有一种方法可以增加亮度,并在不创建中间数组或使用丑陋循环的情况下截断结果?
我正在处理大图像,所以我需要提高效率。
1条答案
按热度按时间5ssjco0h1#
有点晚了,但我使用了一个方便的非线性函数(arctan),而不是剪切溢出值:
实际上,可以对非线性函数进行微调;以此为例进行测试。