OpenCV实现图片亮度增强或减弱
作者:?VVcat? 时间:2022-09-16 00:15:04
本文实例为大家分享了OpenCV实现图片亮度增强或减弱的具体代码,供大家参考,具体内容如下
对每个像素点的三通道值进行同步放大,同时保持通道值在0-255之间
将图像中的像素限制在最小值和最大值之间,超过此区间的值赋值为最小值或最大值
图片亮度增强
import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread('1.png', 1)
height, width = img.shape[:2]
dst = np.zeros((height, width, 3), np.uint8)
for i in range(0, height):
? ? for j in range(0, width):
? ? ? ? (b, g, r) = img[i, j]
? ? ? ? bb = int(b) + 50
? ? ? ? gg = int(g) + 50
? ? ? ? rr = int(r) + 50
? ? ? ? if bb > 255:
? ? ? ? ? ? bb = 255
? ? ? ? if gg > 255:
? ? ? ? ? ? gg = 255
? ? ? ? if rr > 255:
? ? ? ? ? ? rr = 255
? ? ? ? dst[i, j] = (bb, gg, rr)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
dst = cv2.cvtColor(dst, cv2.COLOR_BGR2RGB)
plt.figure(figsize=(14, 6), dpi=100) ?# 设置绘图区域的大小和像素
plt.subplot(121)
plt.imshow(img)
plt.subplot(122)
plt.imshow(dst)
plt.show()
运行结果:
import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread('1.png', 1)
height, width = img.shape[:2]
dst = np.zeros((height, width, 3), np.uint8)
for i in range(0, height):
? ? for j in range(0, width):
? ? ? ? (b, g, r) = img[i, j]
? ? ? ? bb = int(b * 1.3) + 10
? ? ? ? gg = int(g * 1.2) + 15
? ? ? ? if bb > 255:
? ? ? ? ? ? bb = 255
? ? ? ? if gg > 255:
? ? ? ? ? ? gg = 255
? ? ? ? dst[i, j] = (bb, gg, r)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
dst = cv2.cvtColor(dst, cv2.COLOR_BGR2RGB)
plt.figure(figsize=(14, 6), dpi=100) ?# 设置绘图区域的大小和像素
plt.subplot(121)
plt.imshow(img)
plt.subplot(122)
plt.imshow(dst)
plt.show()
运行结果:
图片亮度减弱
import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread('1.png', 1)
height, width = img.shape[:2]
dst = np.zeros((height, width, 3), np.uint8)
for i in range(0, height):
? ? for j in range(0, width):
? ? ? ? (b, g, r) = img[i, j]
? ? ? ? bb = int(b) - 50
? ? ? ? gg = int(g) - 50
? ? ? ? rr = int(r) - 50
? ? ? ? if bb < 0:
? ? ? ? ? ? bb = 0
? ? ? ? if gg < 0:
? ? ? ? ? ? gg = 0
? ? ? ? if rr < 0:
? ? ? ? ? ? rr = 0
? ? ? ? dst[i, j] = (bb, gg, rr)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
dst = cv2.cvtColor(dst, cv2.COLOR_BGR2RGB)
plt.figure(figsize=(14, 6), dpi=100) ?# 设置绘图区域的大小和像素
plt.subplot(121)
plt.imshow(img)
plt.subplot(122)
plt.imshow(dst)
plt.show()
运行结果:
来源:https://blog.csdn.net/qq_44989881/article/details/117163026
标签:OpenCV,图片亮度
0
投稿
猜你喜欢
Python torch.fft.rfft()函数用法示例代码
2022-02-15 02:03:36
如何利用Python 快速找到最大文件
2021-08-06 23:22:47
php下intval()和(int)转换使用与区别
2023-06-11 14:09:54
CSS 的优先规则
2009-01-08 12:40:00
Go语言基础知识点介绍
2024-04-26 17:22:50
Python第三方包PrettyTable安装及用法解析
2023-02-22 03:19:16
Django模板标签中url使用详解(url跳转到指定页面)
2023-12-18 00:09:54
如何安装SQL Server 2012群集
2024-01-14 23:35:09
Springboot集成Camunda使用Mysql介绍
2024-01-22 12:41:36
MySQL拼接字符串函数GROUP_CONCAT详解
2024-01-27 18:21:56
Scrapy框架爬取Boss直聘网Python职位信息的源码
2022-06-30 21:02:47
ASP程序中输出Excel文件实例一则
2008-11-07 15:29:00
SQL提供的进行数据传输的实用程序—BCP
2009-01-23 13:45:00
Google投放广告的js的分析
2008-07-15 11:34:00
python list 合并连接字符串的方法
2021-12-18 09:35:30
SQL Server 2005 五个动态管理对象
2008-12-18 14:50:00
windows环境下mysql数据库的主从同步备份步骤(单向同步)
2024-01-19 16:53:34
python实现根据月份和日期得到星座的方法
2023-02-02 01:05:51
python针对mysql数据库的连接、查询、更新、删除操作示例
2024-01-28 17:11:19
PHP中使用BigMap实例
2024-05-22 10:07:02