我如何在 Python-Fu 中做相当于 Gimp 的颜色、自动、白平衡?

Bry*_*phy 7 python scripting gimp

我能找到的唯一函数是:gimp-color-balance,它采用适用的参数:preserve-lum(osity)、青色-红色、品红色-绿色和黄色-蓝色。

我不确定要为这些参数传递什么值以复制标题中的菜单选项。

小智 4

为了完成@banderlog013的答案,我认为Gimp Doc指定首先丢弃每个通道的结束像素,然后拉伸剩余的范围。我相信正确的代码是:

img = cv2.imread('test.jpg')
balanced_img = np.zeros_like(img) #Initialize final image

for i in range(3): #i stands for the channel index 
    hist, bins = np.histogram(img[..., i].ravel(), 256, (0, 256))
    bmin = np.min(np.where(hist>(hist.sum()*0.0005)))
    bmax = np.max(np.where(hist>(hist.sum()*0.0005)))
    balanced_img[...,i] = np.clip(img[...,i], bmin, bmax)
    balanced_img[...,i] = (balanced_img[...,i]-bmin) / (bmax - bmin) * 255
Run Code Online (Sandbox Code Playgroud)

我用它取得了很好的效果,尝试一下!