Python----计算机视觉处理(Opencv:图像亮度变换)

embedded/2025/3/28 22:29:56/

一、图像亮度变换

亮度调整:图像像素强度整体变高或者变低。

对比度调整:图像暗处像素强度变低,图像亮处像素强度变高,从而拉大中间某个区域范围的显示精 度。

A:原图                                           B:提高亮度

C:把亮度降低                                D:灰度化

        把亮度调高,就是图片中的所有像素值加上了一个固定值;

        把亮度调低,就是图片中的所 有像素值减去了一个固定值;

        增大像素对比度(白的地方更白,黑的地方更黑)

        减小像素对比度 (整幅图都趋于一个颜色)

导入模块 

python">import cv2
import numpy as np

 输入图像

python">img=cv2.imread('lena.png')

调整亮度

python">img_add=np.uint8(np.clip(img*1.0+100,0,255))

输出图像

python">cv2.imshow('img',img)
cv2.imshow('img_add',img_add)
cv2.waitKey(0)

完整代码

python">import cv2  
import numpy as np  # 读取输入图像  
img = cv2.imread('lena.png')  # 从文件中加载图像  # 对图像进行亮度增加操作  
# 1. 将图像数据转换为浮点型,以避免溢出;  
# 2. 将每个像素值加上 100;  
# 3. 使用 np.clip 限制像素值在 0 到 255 之间,防止超出范围;  
# 4. 最后将结果转换回无符号 8 位整型(uint8),用于图像显示。  
img_add = np.uint8(np.clip(img * 1.0 + 100, 0, 255))  # 显示原始图像  
cv2.imshow('img', img)  # 在窗口中显示原图像  # 显示处理后的图像  
cv2.imshow('img_add', img_add)  # 在窗口中显示亮度增加后的图像  # 等待用户按键,任何键按下后关闭窗口  
cv2.waitKey(0)  
cv2.destroyAllWindows()  # 关闭所有 OpenCV 创建的窗口  

 二、库函数

2.1、clip()

限制数组中的值。 给定一个区间,超出该区间的值将被限制到区间的边界。例如,如果指定的区间为``[0, 1]``, 则小于0的值将变为0,而大于1的值将变为1。 等效于但比``np.minimum(a_max, np.maximum(a, a_min))``更快。 不会检查``a_min < a_max``的条件。

python">numpy.clip(a, a_min=<no value>, a_max=<no value>, out=None, *, min=<no value>, max=<no value>, **kwargs)
方法描述
a包含要限制的元素的数组。
a_min, a_max最小值和最大值。如果为``None``,则不对相应边界进行限制。如果``a_min``和``a_max``都为``None``, 则返回数组的元素保持不变。这两个参数会与``a``进行广播。
out结果将放置在此数组中。它可以是输入数组,以进行原地限制。`out`必须具有正确的形状以容纳输出。 其类型保持不变。
min, max兼容数组 API 的替代参数,用于``a_min``和``a_max``。可以同时传递``a_min``和``a_max``或``min``和``max``。 默认值:``None``。
**kwargs有关其他仅限关键字的参数

http://www.ppmy.cn/embedded/176485.html

相关文章

Vue+SpringBoot:整合JasperReport作PDF报表,并解决中文不显示问题

文章目录 一、前言二、后端代码1、pom依赖2、Jaspersoft Studio生成的jasper文件3、main程序测试案例4、解决中文不显示问题5、web接口案例 三、Vue前端代码四、演示效果 一、前言 以前&#xff0c;在流行jdk1.6的时候&#xff0c;作pdf报表&#xff0c;用的软件是iReport。 …

本地安装deepseek大模型,并使用 python 调用

首先进入 ollama 官网 https://ollama.com/点击下载 下载完成后所有都是下一步&#xff0c;就可以 点击搜索 Models &#xff1a; https://ollama.com/search然后点击下载&#xff1a; 选择后复制: ollama run deepseek-r1:32b例如&#xff1a; 让它安装完成后&#xff1…

数据库基础知识点(系列一)

1&#xff0e;数据库的发展历史分哪几个阶段&#xff1f;各有什么特点&#xff1f; 答&#xff1a;数据库技术经历了人工管理阶段、文件系统阶段和数据库系统三个阶段。 1&#xff09;人工管理阶段 这个时期数据管理的特点是&#xff1a; 数据由计算或处理它的程序自行携带…

盖泽 寻边器 帮助类

EA系列 Aligner晶圆校准器 晶圆校准器是一种应用于晶圆加工中的晶圆预对准装置,通过利用晶圆上的缺口(notch)将晶圆调整至预设位置,以确保晶圆的位置及方向,方便后续工艺的进行。产品广泛应用于半导体制造过程中的各个阶段,可集成至各类半导体设备中使用。 通讯方式 串口 …

阻止 Mac 在运行任务时进入休眠状态

掌握Caffeinate命令&#xff1a;让您的 Mac 保持清醒以完成关键任务 开发人员经常发现自己在 Mac 上运行持续时间较长的进程。无论是大量文件上传、广泛的数据分析脚本&#xff0c;还是复杂的构建过程&#xff0c;我们最不希望的就是我们的机器在任务中途进入睡眠状态。输入 c…

前端实战:基于Vue3与免费满血版DeepSeek实现无限滚动+懒加载+瀑布流模块及优化策略

目录 前端实战&#xff1a;基于Vue3与免费满血版DeepSeek实现无限滚动懒加载瀑布流模块及优化策略 一、前言 二、如何使用腾讯云免费满血版deepseek 1、腾讯云大模型知识引擎体验中心 2、体验deepseek联网助手 3、人机交互获取AI支持 三、基于DeepSeek实现无限滚动懒加载…

(C语言)静态通讯录(测试版)(C语言小项目)

1.首先是头文件&#xff1a; //头文件 //contact.h//防止头文件被重复包含 #pragma once //定义符号常亮&#xff0c;方便维护和修改 //联系人基本信息容量 #define NAME_MAX 20 #define AGE_MAX 5 #define SEX_MAX 5 #define TELE_MAX 15 #define ADDR_MAX 30 //联系人最大容量…

如何让Go 的regexp包支持 (?!...) 这样的 Perl 语法?

Go 的标准库 regexp 包基于 RE2 引擎&#xff0c;而 RE2 故意设计为不支持 Perl 风格的复杂特性&#xff08;如 (?!...) 负向前瞻、后顾断言等&#xff09;&#xff0c;这是为了保证正则表达式的执行时间是线性的&#xff08;O(n)&#xff09;&#xff0c;避免潜在的性能问题&…