Haskell 图像处理 (HIP) 对 Pixel RGB 进行操作

Haskell Image Processing (HIP) operate on Pixel RGB

我是这个库的新手,我想要一种操作(例如)Pixel RGB Double 的方法,例如:

p <- <RGB:(1.0e-2|9.80392156862745e-4|9.900990099009901e-3)>

我知道减法或加法会影响整个 RGB

pixel p = p + 1
<RGB:(1.01|1.0009803921568627|1.00990099009901)>

有没有办法单独操作红色、蓝色或绿色部分,而不是同时操作三种颜色?

对于RGB,数据声明如下所示:

data instance Pixel RGB a = PixelRGB a a a

三个字段分别是红、绿、蓝字段。所以你可以做所有常见的 Haskell-y 事情,比如模式匹配和重建。例如:

redder (PixelRGB r g b) = PixelRGB ((r+1)/2) g b

此数据系列的其他实例的数据声明显示在 the main documentation page 的顶部。