对欠曝光图片的处理

看到一篇写使用树莓派做延时摄影的文章,感觉十分的有意思,不过最吸引我的是其中使用的对欠曝光图片的处理方法,给出原地址:

https://www.cnblogs.com/maomaozi/p/16275501.html

 

 

=======================================

 

 

使用https://www.cnblogs.com/maomaozi/p/16275501.html中的方法:

 

 

 

 

 

 

 

 

(前情:原作者将一天24小时拍摄的照片的时间以数字来命名,数字越小则拍摄的时间越早,数字越大则拍摄的时间越晚,最小的是数字代表凌晨,最大的数字代表深夜,可以知道最小和最大数字的照片一样属于严重欠曝光的图片。)

 

拍摄时间小于510,大于1900的都属于严重欠曝光的;拍摄时间大于510小于1330的都属于正常曝光的;拍摄时间大于1330小于1900的属于一般欠曝光的。

 

可以看到作者对欠曝光的图片分了两类,一种特别早和特别晚的时间拍摄的照片,属于严重欠曝光的;一种是下午拍摄的照片,属于一般欠曝光的。

 

对于一般欠曝光的,先试用gamma变换,然后再使用NORM_MINMAX归一化:

代码:

def afternoon(img, gamma = 0.65):
    gamma_table=[np.power(x/255.0,gamma)*255.0 for x in range(256)]
    gamma_table=np.round(np.array(gamma_table)).astype(np.uint8)
    img = cv2.LUT(img,gamma_table)
    img = cv2.normalize(img,dst=None,alpha=255,beta=25,norm_type=cv2.NORM_INF)

 

 

 

 

对于严重欠曝光的,只使用NORM_MINMAX归一化:

代码:

def night(img):
    img = cv2.normalize(img,dst=None,alpha=255,beta=30,norm_type=cv2.NORM_MINMAX)
    return img

 注意:在对严重欠曝光图片进行归一化时像素最低值高于一般欠曝光的图片,这里beta为30,而不是25。

 

 

 

gamma变换可以增加对比度,使图片锐化,使用于整张图片中虽然普遍亮度较低但是依然有一定明暗区分度的情况。

 

NORM_MINMAX归一化是对整张图片的亮度进行整体变换的操作,这里则是整体提升(加亮),在图片对比度上提升不大,适用于整张图片没有太大明暗区分度的情况。

 

 

======================================

 

原图:

处理后的:

 

----------------------------------------

 

原图:

 

处理后的图:

 

 

 -----------------------------------------------

 

原图:

 

处理后的:

 

 

==============================

 

posted on 2022-10-27 17:38  Angry_Panda  阅读(189)  评论(0)    收藏  举报

导航