机器学习第3章第5节 : 调整图像亮度
来源:互联网 发布:touch bar 知乎 编辑:程序博客网 时间:2024/05/22 21:07
机器学习第3章第5节 : 调整图像亮度
注意事项 : 参见这里
原理
将像素值减小,那么亮度就会减小,全部色彩变暗;
将像素值加大,那么亮度就会增加,全部色彩变亮;
思路
获取图像大小 : 通过图像矩阵的shape属性获取图像的大小,shape返回tuple元组,元组的第一个元素为高度,第二个元素为宽度,点三个元素为像素值 [B,G,R] .
更改元素的像素值
代码
#!/user/bin/env python# -*- coding: utf-8 -*-"""Adjust brightness调整图像亮度"""import cv2fn = 'img/test1.jpg'if __name__ == '__main__': print('loading %s ...' %fn) print(u'处理中....') status = 'dark' if status == 'light': value = 1.2 elif status == 'dark' : value = 0.2 else: value = 1 img = cv2.imread(fn) #第二维度长度 w = img.shape[1] #第一维度长度 h = img.shape[0] ii = 0 #将全部色彩变暗 for xi in range(0,w): for xj in range(0,h): #将像素值整体改变 img[xj,xi,0] = int(img[xj,xi,0] * value) img[xj,xi,1] = int(img[xj,xi,1] * value) img[xj,xi,2] = int(img[xj,xi,2] * value) #显示进度条 if xi % 10 == 0: print('当前状态:',status,'当前进度:' , round(xi * 100 / w) ,'%') cv2.namedWindow('img') cv2.imshow('img' + status,img) cv2.waitKey() cv2.destroyAllWindows()
运行结果
原图
图像变暗
图像变亮
笔记
cv2.imread()
这个代码是cv2内置的图像的读取函数.
round(floatNum)
返回浮点数floatNum的四舍五入值,使用的原因是xi * 100 / w
会造成小数的产生,打印出来很难看.
阅读全文
0 0
- 机器学习第3章第5节 : 调整图像亮度
- 机器学习第3章第2节 : 绘制正余弦图像
- 机器学习第3章第6节 : 图像的日落效果
- OpenCV/第5章 图像尺寸调整
- 第1章:阿里云机器学习实践之路 / 第5节:深度学习--使用TensorFlow实现图像分类
- 机器学习第5章第2节 : LMS算法
- 【学习OpenCV】图像的亮度/对比度调整
- 机器学习第5章第3节 : LMS的学习率退火算法
- 图像亮度自适应调整
- 图像亮度自适应调整
- 周志华《机器学习》第 5 章 神经网络
- 机器学习实战第3章决策树
- 【机器学习实战】第3章 决策树
- 机器学习第5章第1节(上) : 使用神经网络学习逻辑或的运算
- 《机器学习》读书笔记 5 第3章 线性模型
- 机器学习第5周!
- 第七天:对比度亮度调整与通道分离
- OpenCV 学习记录5 图像通道分离、对比度和亮度调整
- Leetcode之Permutation in String 问题
- 线程
- SQL完整性约束
- UVA 469 Wetlands of Florida
- static和extern对函数的作用
- 机器学习第3章第5节 : 调整图像亮度
- 哈希查找
- Oracle 使用技巧
- HDU5977 Garden of Eden 树分治+高维前缀和
- Swift开发指南:使用Swift与Cocoa和Objective-C(Swift 4)
- Codeforces Round #437 (Div. 2, based on MemSQL Start[c]UP 3.0
- 2015-2016 ACM-ICPC, NEERC, Northern Subregional Contest【9/12】
- 机器学习笔记--K近邻
- 第四周项目5-猴子选大王