Python实现PS图像调整黑白效果示例

  

本文实例讲述了Python实现PS图像调整黑白效果。分享给大家供大家参考,具体如下:

  

这里用Python实现PS里的图像调整——黑白,PS里的黑白并不是简单粗暴的将图像转为灰度图,而是做了非常精细的处理,具体的算法原理和效果图可以参考附录说明。

  

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

        进口numpy np   进口matplotlib。pyplot作为plt   从skimage进口io   file_name=' D: 4./图像处理算法/PS/jpg”;   img=io.imread (file_name)   img=img * 1.0   Color_ratio=np.zeros (6)   Color_ratio [0]=0.4;#红   Color_ratio [1]=0.6;#黄色   Color_ratio [2]=0.4;#绿色   Color_ratio [3]=0.6;#青色   Color_ratio [4]=0.2;#蓝色   Color_ratio [5]=0.8;#洋红色   max_val=img。马克斯(轴=2)   min_val=img。分钟(轴=2)   sum_val=img。总和(轴=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) & lt;0   mask_r=1 - mask_r   mask_g=(img (:: 1) - max_val + 0.01) & lt;0   mask_g=1 - mask_g   mask_b=(img [:: 2] - max_val + 0.01) & lt;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(“了”)   plt.figure (2)   plt.cm.gray plt.imshow (I_out/255.0)   plt.axis(“了”)   plt.show ()      之前      

  

<强>黑白调整
  

  

Photoshop CS的图像黑白调整功能,是通过对红,黄,绿,青,蓝和洋红等6种颜色的比例调节来完成的。能更精细地将彩色图片转换为高质量的黑白照片。

  

Photoshop CS图像黑白调整功能的计算公式为:

  

  

公式中:灰色为像素灰度值,马克斯,中期和最小分别为图像像素R, G, B分量颜色的最大值,中间值和最小值,ratio_max为马克斯所代表的分量颜色(单色)比率,ratio_max_mid则为马克斯与中期两种分量颜色所形成的复色比率。

  

默认的单色及复色比率为:

  

  

计划:         % % % % %程序实现图像的黑白调整功能   clc;   清除所有;   关闭所有;   形象=imread (“9. jpg”);   形象=双(图片);   R=图像(::1);   G=图像(:,:,2);   B=图像(:,:,3);   (行,坳)=(R)大小;   Gray_img(1:行,1:坳)=0;   Sum_rgb=R + G + B;   % % % %各种颜色的默认比率   Color_Ratio (1:6)=0;   Color_Ratio (1)=0.4;% % % %红色   Color_Ratio (2)=0.6;% % % %黄色   Color_Ratio (3)=0.4;% % % %绿色   Color_Ratio (4)=0.6;% % % %青色   Color_Ratio (5)=0.2;% % % %蓝色   Color_Ratio (6)=0.8;% % % %洋红色   i=1:行   j=1:坳   r=r (i, j);   g=g (i, j);   b=b (i, j);   Max_value=https://www.yisu.com/zixun/max (r, max (g, b));   Min_value=min (r, min (g, b));   Mid_value=Sum_rgb (i, j) -Max_value-Min_value;   如果(Min_value==r)   指数=0;   elseif (Min_value==g)   指数=2;   其他的   指数=4;   结束   ratio_max_mid=Color_Ratio (mod(指数+ 3,6)+ 1);   如果(Max_value==r)   指数=1;   elseif (Max_value==g)   指数=3;   其他的   指数=5;   结束   ratio_max=Color_Ratio(指数);   Temp=(Max_value-Mid_value) * ratio_max + (Mid_value-Min_value)…   * ratio_max_mid + Min_value;   Gray_img (i, j)=(Max_value-Mid_value) * ratio_max + (Mid_value-Min_value)…   * ratio_max_mid + Min_value;   结束   结束   imshow(图片/255);   图中,imshow (Gray_img/255);      之前      

<强>本例Python运行结果如下:

  

原图:   

 Python实现PS图像调整黑白效果示例

  

运行效果图:

  

 Python实现PS图像调整黑白效果示例

  

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python图片操作技巧总结》,《Python数据结构与算法教程》、《Python套接字编程技巧总结》,《Python函数使用技巧总结》,《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

Python实现PS图像调整黑白效果示例