OpenCV实现图片亮度增强或减弱

 更新时间:2022年08月01日 11:03:59   作者:ʚVVcatɞ  
这篇文章主要为大家详细介绍了OpenCV实现图片亮度增强或减弱,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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()

运行结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • python基础之局部变量和全局变量

    python基础之局部变量和全局变量

    这篇文章主要介绍了python局部变量和全局变量,实例分析了Python中返回一个返回值与多个返回值的方法,需要的朋友可以参考下
    2021-10-10
  • python之mock模块基本使用方法详解

    python之mock模块基本使用方法详解

    这篇文章主要介绍了python之mock模块基本使用方法详解,Mock是Python中一个用于支持单元测试的库,它的主要功能是使用mock对象替代掉指定的Python对象,以达到模拟对象的行为,需要的朋友可以参考下
    2019-06-06
  • python实现图像识别功能

    python实现图像识别功能

    这篇文章主要为大家详细介绍了python实现图像识别功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 再谈Python中的字符串与字符编码(推荐)

    再谈Python中的字符串与字符编码(推荐)

    这篇文章主要介绍了再谈Python中的字符串与字符编码(推荐),具有一定的参考价值,有需要的可以了解一下。
    2016-12-12
  • Python的ORM框架中SQLAlchemy库的查询操作的教程

    Python的ORM框架中SQLAlchemy库的查询操作的教程

    这篇文章主要介绍了Python的ORM框架中SQLAlchemy库的查询操作的教程,SQLAlchemy用来操作数据库十分方便,需要的朋友可以参考下
    2015-04-04
  • Python基于callable函数检测对象是否可被调用

    Python基于callable函数检测对象是否可被调用

    这篇文章主要介绍了Python基于callable函数检测对象是否可被调用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Python编程实现的图片识别功能示例

    Python编程实现的图片识别功能示例

    这篇文章主要介绍了Python编程实现的图片识别功能,涉及Python PIL模块的安装与使用技巧,需要的朋友可以参考下
    2017-08-08
  • Python字符串处理实现单词反转

    Python字符串处理实现单词反转

    这篇文章主要为大家详细介绍了Python字符串处理实现单词反转的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Python3指定路径寻找符合匹配模式文件

    Python3指定路径寻找符合匹配模式文件

    这篇文章主要介绍了Python3指定路径寻找符合匹配模式文件,涉及Python文件查找与模式匹配的相关技巧,需要的朋友可以参考下
    2015-05-05
  • Python绘制全球疫情变化地图的实例代码

    Python绘制全球疫情变化地图的实例代码

    这篇文章主要介绍了使用Python绘制全球疫情变化地图的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04

最新评论