手动实现减色处理

减色处理

这里没有找到"減色処理"准确的中文翻译,所以直译了。

我们将图像的值由 25 6 3 256^3 2563压缩至 4 3 4^3 43,即将 RGB \text{RGB} RGB的值只取 { 32 , 96 , 160 , 224 } \{32, 96, 160, 224\} {32,96,160,224}。这被称作色彩量化。色彩的值按照下面的方式定义:
val = { 32 ( 0 ≤ var < 64 ) 96 ( 64 ≤ var < 128 ) 160 ( 128 ≤ var < 192 ) 224 ( 192 ≤ var < 256 ) \text{val}=\begin{cases}32& (0 \leq \text{var} < 64)\\96& (64\leq \text{var}<128)\\160&(128\leq \text{var}<192)\\224&(192\leq \text{var}<256)\end{cases} val=3296160224(0var<64)(64var<128)(128var<192)(192var<256)

代码:

import imageio

img = imageio.imread("imori.jpg")

rows,cols,C = img.shape

for row in range(rows):
    for col in range(cols):
        for c in range(C):
            if 0 <= img[row,col,c] and img[row,col,c] <64:
                img[row,col,c] = 32
            elif img[row,col,c] < 128:
                img[row,col,c] = 96
            elif img[row,col,c] <192:
                img[row,col,c] = 160
            else:
                img[row,col,c] = 224

imageio.imsave("output.jpg",img)

结果:
手动实现减色处理_第1张图片

你可能感兴趣的:(手动实现减色处理)