• Python: PS 图像调整--黑白


    本文用Python 实现 PS 里的图像调整–黑白,PS 里的黑白并不是简单粗暴的将图像转为灰度图,而是做了非常精细的处理,具体的算法原理和效果图可以参考以前的博客:

    http://blog.csdn.net/matrix_space/article/details/22992833

    比起之前的程序,对代码进行了优化,完全用矩阵运算代替了 for 循环,运算效率提升了很多。具体的代码如下:

    import numpy as np
    import matplotlib.pyplot as plt
    from skimage import io
    
    file_name='D:/Image Processing/PS Algorithm/4.jpg';
    img=io.imread(file_name)
    
    img = img * 1.0
    
    Color_ratio = np.zeros(6)
    
    Color_ratio[0]=0.4;     # Red
    Color_ratio[1]=0.6;     # Yellow
    Color_ratio[2]=0.4;     # Green
    Color_ratio[3]=0.6;     # Cyan
    Color_ratio[4]=0.2;     # Blue
    Color_ratio[5]=0.8;     # Magenta
    
    max_val = img.max(axis = 2)
    min_val = img.min(axis = 2)
    sum_val = img.sum(axis = 2)
    mid_val = sum_val - max_val - min_val
    
    mask_r = (img[:, :, 0] - min_val - 0.01) > 0 
    mask_r = 1 - mask_r
    mask_g = (img[:, :, 1] - min_val - 0.01) > 0
    mask_g = 1 - mask_g
    mask_b = (img[:, :, 2] - min_val - 0.01) > 0
    mask_b = 1 - mask_b
    
    ratio_max_mid = mask_r * Color_ratio[3] + mask_g * Color_ratio[5] + mask_b * Color_ratio[1]
    
    mask_r = (img[:, :, 0] - max_val + 0.01) < 0
    mask_r = 1 - mask_r
    
    mask_g = (img[:, :, 1] - max_val + 0.01) < 0
    mask_g = 1 - mask_g
    
    mask_b = (img[:, :, 2] - max_val + 0.01) < 0
    mask_b = 1 - mask_b
    
    ratio_max= mask_r * Color_ratio[4] + mask_g * Color_ratio[0] + mask_b * Color_ratio[2]
    
    I_out = max_val * 1.0 
    
    I_out = (max_val-mid_val)*ratio_max + (mid_val-min_val)*ratio_max_mid + min_val 
    
    plt.figure()
    plt.imshow(img/255.0)
    plt.axis('off')
    
    plt.figure(2)
    plt.imshow(I_out/255.0, plt.cm.gray)
    plt.axis('off')
    
    plt.show()              
    
  • 相关阅读:
    Docker 容器默认root账号运行,很不安全!
    Prometheus阅读目录
    linux修改SSH远程登录端口 服务器安全篇
    linux 部署出现Fatal error: Class 'DOMDocument' not found。
    mysql开启远程访问权限
    linux 重置mysql 密码
    推送(极光推送)
    linux 搭建SVN
    C语言词频统计设计
    读《构建之法》有感
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9412405.html
Copyright © 2020-2023  润新知