用Python修图是怎样一种体验? PS靠边站!

前些天学习了Python图像处理库PIL(Python Imaging Library),觉得十分有趣,对于Photoshop的图像处理过程似乎有了新的见解,稍稍记录一下。

       想到之前还有好多照片没有处理,这里特别选了一张[新疆那拉提]的照片来试试水。

1. 导入相关库

2. 读取并查看图片

扫描二维码关注公众号,回复: 5751221 查看本文章

RGB (6000, 3376) JPEG

(3376, 6000, 3)

       这张图片是6000x3376像素,有三个通道的JPEG格式。

3. 分通道查看

       此处只列出一个通道,其他一次类推。

       可以看出由于背光拍摄,这张图片的山体部分有些曝光不足。

我们可以试试把图片直方图均衡化看看效果如何。

4、图像调整

        它的三个通道的像素值都被均衡调整了一下。

       中间到底发生了什么呢?   

       我们把累计分布函数画出来看看。

       其实,均衡化就是通过计算图各像素的像素值的分布,根据总体的情况进行调整。在我们的图片中,由于暗部较多,低像素值的像素数应该会比较多,这点可以从上图的曲线中也可以看出来。这样就会造成我们的曲线变成凸形的,在采用interp()进行插值时,低像素值的像素点就会被提高,也即是从我们图中的橙色线上移至蓝色线。这跟Photoshop里面利用曲线进行调整的道理类似。

       可以推出,当我们图片亮部较多时,这个蓝色线会变成陡峭上升的形态,也即是会低于橙色线,这时采用上面的方法将会把图片整体压暗。

       回来重新审视我们这张图,其实亮部没有问题,不需要调整。我们试试画一条曲线来直接调整暗部。

   我绘制了这样一条曲线:

Python学习群:683380553,有大牛答疑,有资源共享!是一个非常不错的交流基地!欢迎喜欢Python的小伙伴!

    到这里我们就完成了一张图片曝光的粗略调整,相信进一步地可以实现很多PS里面的功能,应该也可以做出来一些滤镜。本人对PS各个功能的算法颇有兴趣,如果有小伙伴有什么创意或见解的话,欢迎在下面评论告诉我哦!

猜你喜欢

转载自blog.csdn.net/qq_42156420/article/details/88973466