前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >番外篇: 亮度与对比度

番外篇: 亮度与对比度

作者头像
CodecWang
发布2021-12-07 15:18:39
9670
发布2021-12-07 15:18:39
举报
文章被收录于专栏:CodecWangCodecWang

学习如何调整图片的亮度和对比度。图片等可到文末引用处下载。

亮度与对比度

亮度调整是将图像像素的强度整体变大/变小,对比度调整指的是图像暗处的像素强度变低,亮出的变高,从而拓宽某个区域内的显示精度。

OpenCV中亮度和对比度应用这个公式来计算:g</span>(x)=αf</span>(x)+β</span></span>,其中:α(>0)、β常称为增益与偏置值,分别控制图片的对比度和亮度。

经验之谈:此处对α/β控制对比度和亮度有争议,具体请参考:OpenCV关于对比度和亮度的误解

代码语言:javascript
复制
import cv2
import numpy as np

img = cv2.imread('lena.jpg')
# 此处需注意,请参考后面的解释
res = np.uint8(np.clip((1.5 * img + 10), 0, 255))
tmp = np.hstack((img, res))  # 两张图片横向合并(便于对比显示)

cv2.imshow('image', tmp)
cv2.waitKey(0)Copy to clipboardErrorCopied

还记得图像混合那一节中numpy对数据溢出的取模处理吗?250+10 = 260 => 260%256=4,它并不适用于我们的图像处理,所以用np.clip()函数将数据限定:a<0 => a=0, a>255 => a=255

亮度与对比度调整
亮度与对比度调整

练习

  1. 创建两个滑动条分别调整对比度和亮度(对比度范围:00.3,亮度:0100)。提示:因为滑动条没有小数,所以可以设置为0~300,然后乘以0.01。
  2. 亮度/对比度用C++实现也很有趣,推荐阅读:OpenCV改变图像亮度和对比度以及优化

引用

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-12-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 亮度与对比度
  • 练习
  • 引用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档