乘法numy图像数组时防止溢出

2024-04-25 21:35:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用numpy处理图像,在某些时候我会缩放图像。在

import scipy.misc        as msc
import numpy             as np
...
img_rgb = msc.imread(img_fn)
im_scaled = img_rgb * factor

结果有时看起来很难看,明亮的区域会出现黑点。这似乎是由8位图像RGB像素的数值溢出引起的。 是否有一种方法可以应用天花板运算符,以便如果乘法值大于等于255,则将其剪裁为255。(我对楼层功能不感兴趣,因为我不希望信号变为负值)

我知道我可以在一个循环中测试每个像素,但不会遵循数组处理的numpy哲学。在

任何帮助都是非常感谢的。在

谢谢, 格特


Tags: 图像importnumpyimgasnprgb像素
1条回答
网友
1楼 · 发布于 2024-04-25 21:35:53

你可以使用^{},它确实做到了。在

然而,这张照片可能也不会很漂亮。通常,您需要的是将图像值从字节(在[0255]范围内)转换为[0,1]范围内的浮点值(即使是隐式的),然后应用gamma correction。在

相关问题 更多 >