图像对比度与亮度调整算法实现(Python&OpenCV)
2017-10-31 22:36
495 查看
转自:http://blog.csdn.net/haofan_/article/details/76752353
对图片对比度和亮度的调整一般通过下面公式计算:
g(x,y) = a*f(x,y)+b
f(x,y)代表源图像x行,y列的像素点的c通道的数值 g(x,y)代表目
标图像x行,y列的像素点的c通道的数值
a参数(a>0)表示放大的倍数(一般在0.0~3.0之间)
b参数一般称为偏置,用来调节亮度
Python&OpenCV代码实现上述算法
2
3
4
5
6
7
8
9
10
11
12
color=img[i,j][c]*a+b
通过这条语句可以得到处理后的像素值,但是为了防止像素值越界(0~255),所以进行了容错处理保证数值在0~255之间。(a,b数值可以适当修改观察结果变化)
2
3
4
处理前后图片对比如下
完整的代码如下
算法
对图片对比度和亮度的调整一般通过下面公式计算:g(x,y) = a*f(x,y)+b
f(x,y)代表源图像x行,y列的像素点的c通道的数值 g(x,y)代表目
标图像x行,y列的像素点的c通道的数值
a参数(a>0)表示放大的倍数(一般在0.0~3.0之间)
b参数一般称为偏置,用来调节亮度
代码实现
Python&OpenCV代码实现上述算法a=1.2 b=100 for i in range(rows): for j in range(cols): for c in range(3): color=img[i,j][c]*a+b if color>255: dst[i,j][c]=255 elif color<0: dst[i,j][c]=0 cv2.imshow('dst',d 4000 st)1
2
3
4
5
6
7
8
9
10
11
12
color=img[i,j][c]*a+b
通过这条语句可以得到处理后的像素值,但是为了防止像素值越界(0~255),所以进行了容错处理保证数值在0~255之间。(a,b数值可以适当修改观察结果变化)
if color>255: dst[i,j][c]=255 elif color<0: dst[i,j][c]=01
2
3
4
实例演示
处理前后图片对比如下 完整的代码如下
import cv2
img=cv2.imread('hw.jpg')
cv2.imshow('img',img)
rows,cols,channels=img.shape
dst=img.copy()
a=1.2
b=100
for i in range(rows):
for j in range(cols):
for c in range(3):
color=img[i,j][c]*a+b
if color>255: dst[i,j][c]=255 elif color<0: dst[i,j][c]=0
cv2.imshow('dst',dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
相关文章推荐
- 用OpenCV实现Photoshop算法(五): 亮度对比度调整
- OpenCV之六 创建Trackbar 图像对比度、亮度值调整
- 【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整
- 【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整
- opencv ,亮度调整【【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整
- 【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整
- OpenCV学习:创建Trackbar & 图像对比度、亮度值调整
- 【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整
- 【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整
- 用OpenCV实现Photoshop算法(三): 曲线调整
- 【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整
- 【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整
- <基础原理进阶>机器学习算法python实现【1】--分类简谈&KNN算法
- 用OpenCV实现Photoshop算法(七): 调整色相饱和度
- 【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整(转)
- OpenCV学习笔记(14)创建Trackbar & 图像对比度、亮度值调整
- PhotoShop算法实现--亮度调整(曝光不足或过量)(二)
- python opencv 实现Reinhard颜色迁移算法
- 【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整
- 【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整