图像基础、OpenCV入门2——变亮、变暗、日落、水印等
来源:互联网 发布:淘宝里的表情 编辑:程序博客网 时间:2024/06/06 16:30
调节图像亮度
调节原理:将像素值变小,全部色彩变暗;将像素值变大,全部色彩变亮。
#-*- coding: utf-8 -*-import cv2import numpy as npfn = "test1.jpg"if __name__ =='__main__': print('loading... %s' % fn) print (u'显示原图') img = cv2.imread(fn) cv2.namedWindow('source') cv2.imshow('source',img) print (u'正在处理中') w = img.shape[1] h = img.shape[0] # 全部变暗 for xi in range(0,w): for xj in range(0,h): #将像素值整体减少,设为原像素值的20% img[xj,xi,0]=int(img[xj,xi,0]*0.2) img[xj,xi,1]=int(img[xj,xi,1]*0.2) img[xj,xi,2]=int(img[xj,xi,2]*0.2) # 显示进度条 if xi%10 ==0 : print('.') cv2.namedWindow('dark') cv2.imshow('dark', img) cv2.waitKey() cv2.destroyAllWindows()
变亮的代码类似,把像素值整体变大即可,如:
img[xj,xi,0]=int(img[xj,xi,0]*10.2) img[xj,xi,1]=int(img[xj,xi,1]*10.2) img[xj,xi,2]=int(img[xj,xi,2]*10.2)
图像日落效果
将蓝色值和绿色值设为原来的70%,红色值不变。
#-*- coding: utf-8 -*-import cv2import numpy as npfn = "test1.jpg"if __name__ =='__main__': print('loading... %s' % fn) print (u'显示原图') img = cv2.imread(fn) cv2.namedWindow('source') cv2.imshow('source',img) print (u'正在处理中') w = img.shape[1] h = img.shape[0] for xi in range(0,w): for xj in range(0,h): img[xj,xi,0]=int(img[xj,xi,0]*0.7) img[xj,xi,1]=int(img[xj,xi,1]*0.7) # 显示进度条 if xi%10 ==0 : print('.') cv2.namedWindow('sunset') cv2.imshow('sunset', img) cv2.waitKey() cv2.destroyAllWindows()
生成负片
#-*- coding: utf-8 -*-import cv2import numpy as npfn = "test1.jpg"if __name__ =='__main__': print('loading... %s' % fn) print (u'显示原图') img = cv2.imread(fn) cv2.namedWindow('source') cv2.imshow('source',img) print (u'正在处理中') w = img.shape[1] h = img.shape[0] # 生成负片 b, g, r =cv2.split(img) b = 255-b g = 255-g r = 255-r# 直接通过索引改变色彩分量 img[:,:,0] = b img[:,:,1] = g img[:,:,2] = r cv2.namedWindow('nagative') cv2.imshow('nagative', img) cv2.waitKey() cv2.destroyAllWindows()
加水印
#-*- coding: utf-8 -*-import cv2import numpy as npfn = "test1.jpg"if __name__ =='__main__': print('loading... %s' % fn) print (u'正在处理中') img = cv2.imread(fn) w = img.shape[1] h = img.shape[0] cv2.putText(img,"Hello World",(2,20),cv2.FONT_HERSHEY_PLAIN, 2.0, (0,0,0), thickness = 2) cv2.namedWindow('watermark') cv2.imshow('watermark', img) cv2.waitKey() cv2.destroyAllWindows()
阅读全文
0 0
- 图像基础、OpenCV入门2——变亮、变暗、日落、水印等
- 图像基础、OpenCV入门4——图像边缘算法
- 图像基础、OpenCV入门3——图像灰度化、二值化与图像加噪
- 图像基础、OpenCV入门1
- css图片变色变暗变亮
- 图片的变暗与变亮
- 彩色图片变灰色,图片亮度变暗变亮--图像处理之二
- Opencv 图像叠加 添加水印
- Opencv 图像叠加 添加水印
- Opencv 图像叠加 添加水印
- Opencv 图像叠加 添加水印
- Opencv 图像叠加 添加水印
- Opencv 图像叠加 添加水印
- jQuery实现图片变亮或变暗
- 实现ImageView按下变暗,抬起变亮。
- Activity界面变暗、变亮的核心方法
- opencv使图片变亮
- 哼一首歌,等日落
- ISO刻录到U盘(ISO to USB) v3.0 绿色中文版
- Android 6.0 权限机制详解
- 1.9Android 学习+进度之九-消息队列及其相关
- Joda-Time几个用法小记
- 处理JSON数据中含有双引号??
- 图像基础、OpenCV入门2——变亮、变暗、日落、水印等
- 基本排序算法
- 每日英语阅读(十四)
- YUV420 存储格式
- Source Insight v4.0免费版
- 性能优化知多少
- 基于Java的链表实现
- MEMORY INSTRUCTIONS: LOAD AND STORE
- 处理JSON数据中含有双引号??