使用一张高分辨率的灰度图片和一张低分辨率的RGB图片,将RGB变换到HSI,再将I分量用灰度图片替换,然后再映射回到RGB,即可实现使彩色图片更清晰。RGB->HSI变换规则如下:
需要注意,R G B三分量归一化(归一化方式有多种)!!!!
HSI转化到RGB的资料较少,通常为:(通常对应的是上表算法1的逆变换)
使用python PIL库编写时,注意split()后,R G B每个分量是8位,计算过程中可能使数字超过255,要做好相应处理!!!由于之前归一化,故逆变换后记得复原像素值数量级。(乘255)
代码如下:
from PIL import Image
import numpy as np
import math
'''
##将RB转为灰度图, matplotlib没有该函数
def rgb2gray(rgb):
return np.dot(rgb[...,:3], [0.333, 0.111, 0.555])
'''
cgGray=Image.open('C:\\