OpenCV实验系列之修改图片对比度与亮度

Opencv图像的亮度和对比度调整 文章目录前言一、图像亮度和对比度的基本概念:1、图像亮度:2、图像对比度:二、RGB三通道色彩空间的图像变换:1、线性变换公式如下:2、操作简介:3、图像亮度调整:4、图像对比度调整:5、三通道图像转换为单通道图像的方法:1)通过imread方法,在后面添加参数 IMREAD_GRAYSCALE2)通过cvtColor方法,直接转换色彩空间为灰度图像,类似于创建新的图像6、图像亮度与对比度同时调整:三、获取图片亮度值总结 前言 图像的亮度和对比度调整 一、图像亮度和对比度的基本概念: 1、图像亮度: 图像亮 阅读详情

OpenCV实验系列之修改图片对比度与明亮度


注意:以下内容根据opencv官网提供的教程结合个人理解所得,仅是个人学习笔记,可能存在错误或偏差,欢迎指正。


对比度与亮度的理解(个人臆测)

以下对于对比度的解释来自百度百科

对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,差异范围越大代表对比越大,差异范围越小代表对比越小,好的对比率120:1就可容易地显示生动、丰富的色彩,当对比率高达300:1时,便可支持各阶的颜色。但对比率遭受和亮度相同的困境,现今尚无一套有效又公正的标准来衡量对比率,所以最好的辨识方式还是依靠使用者眼睛。

以灰度图来举例,个人理解就是图片中亮与暗点间的灰度差值,比如255与200的对比度小于255与100的对比度,对于灰度图来说亮度就是整体的白的程度。由此可以得出对对比度和亮度进行调节的公式:
这里写图片描述

α用来控制对比度,β用来控制亮度。可以想象当α>1是图片的对比度将扩大(扩大了像素点间的差异),β>0时亮度将提高,当0<α<1是图片的对比度将j减小,β<0时亮度将减小。

实现方法

可以使用LUT()

http://blog.youkuaiyun.com/Nrush/article/details/79330077
进行处理在下例中使用一般遍历的方法进行处理。

#include<iostream>  
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

void main()
{
    double alpha = 1.5; double beta = 0;
    Mat src;
    src = imread( "timg.jpg" );
    imshow("src",src);
    Mat dst = Mat::zeros( src.size(), src.type());

    for( int y = 0; y < src.rows; y++ ) {
        for( int x = 0; x < src.cols; x++ ) {
            for( int c = 0; c < 3; c++ ) {
                dst.at<Vec3b>(y,x)[c] =
                  saturate_cast<uchar>( alpha*( src.at<Vec3b>(y,x)[c] ) + beta );
            }
        }
    }

    imshow( "dst", dst );
    waitKey(0);
}

运行结果
原图
原图
这里写图片描述
α = 1,β = 50.提高亮度结果
这里写图片描述
α = 1,β = -50.降低亮度结果
这里写图片描述
α = 1.5,β = 0 提高对比度结果
这里写图片描述
α = 0.5,β = 0 降低对比度结果

从编译到调通:RK3588与FPGA的PCIe XDMA驱动实战解析 本文详细解析了在RK3588平台上为FPGA板卡编译、加载与调试PCIe XDMA驱动的完整实战流程。内容涵盖环境准备、Makefile深度定制、编译排错、驱动加载与内核日志解读、设备节点分析以及用户空间编程实战,旨在帮助开发者打通RK3588与FPGA之间的高速PCIe通信链路,实现稳定可靠的数据传输。 阅读详情

相关推荐

嵌入式开发也玩“全家桶”?手把手教你用CLion+PyOCD调试APM32,比OpenOCD更简单

本文详细介绍了如何使用CLion和PyOCD组合进行APM32嵌入式开发,提供从环境配置到实战调试的完整指南。相比传统工具如Keil和OpenOCD,这套方案更轻量、易用,特别适合现代开发者需求,涵盖CMake配置、PyOCD调试技巧及常见问题解决。

weixin_42543046的博客 464

【opencv4.3.0教程】13之调整图像的亮度与对比度

前言 我们在拍照的时候,经常需要通过调整图像的亮度及对比度来调整图像的美感,让我们拍出的照片更有意境。特别是女孩子,喜欢拍一些美美哒皂片! 但如果你的男朋友掌握不好角度,亮度和对比度,那可能就是大型拍照翻车现场了。 你眼中的自己和男友眼中的你 好吧,说回正题,如果我们不考虑拍的丑不丑,我们只想让图片亮度对比度调整一下,还是可以做到滴!接下来让我们走进今天的内容吧! 一、亮度与对比度 亮度与对比度其实是图像处理中的概念。我们在调整台式电脑的显示界面,就可以调整亮度与对比度。 我们在拍照的时候.

水亦心的博客 2889

Intel Realsense d435 使用python对深度图进行预处理

Intel Realsense d435 使用python对深度图进行预处理 本文中主要翻译一下一篇关于深度图预处理过滤器的内容,后面还会有关于距离测量的。 原文中的图像显示,是使用matplotlib.pyplot工具,在本文中,使用opencv来显示深度图》 首先常规操作导入包: import cv2 import numpy as np import pyrealsense2 as rs 获取我们所需要的图像,通过摄像头或者本地都可以 pipe = rs.pipeline() cfg = rs.co

qq_25105061的博客 1万+

VS+OpenCV 处理图像的颜色(下)用色调、饱和度和亮度表示颜色、肤色检测

用色调、饱和度和亮度表示颜色、肤色检测

ztttyy的博客 1719

从C到汇编:单片机汇编语言核心概念迁移指南

本文详细介绍了从C语言迁移到单片机汇编语言的核心概念与实践指南,特别适合嵌入式开发者。文章深入探讨了汇编语言在性能优化、时序控制等方面的独特优势,并提供了变量存储、函数实现、流程控制等关键概念的对应关系,帮助开发者高效掌握汇编编程技巧。

weixin_31887307的博客 346

Spec-Kit实战:用‘规范驱动开发’重构一个老旧Node.js项目(避坑指南)

本文详细介绍了如何使用Spec-Kit工具通过‘规范驱动开发’(SDD)重构老旧Node.js项目。从逆向工程提取规范到增量改造策略,再到避免典型陷阱,提供了实战指南和避坑技巧,帮助开发者高效实现架构现代化,显著提升代码质量和维护效率。

weixin_42525582的博客 555

OpenCV改变图像的对比度和亮度!

255] 范围的像素值将饱和(即高于(/小于)255 (/ 0) 的像素值将被限制为 255 (/ 0))。伽马校正后,直方图向右移动,但黑暗区域的像素比明亮区域的像素移动更多(参见伽马曲线。在本段中,我们将通过调整图像的亮度和对比度来校正曝光不足的图像所学到的知识付诸实践。您可以将 \(f(x)\) 视为源图像像素,将 \(g(x)\) 视为输出图像像素。由于这种关系是非线性的,因此所有像素的效果都不相同,并且取决于它们的原始值。浅灰色,原始图像的直方图,当亮度 = 80 in Gimp 时,深灰色。

2301_81888214的博客 3133

ABAP - Function ALV 11 - 单元格下拉框

【代码】ABAP - Function ALV 11 - 单元格下拉框。

HeathlX的博客 1814

图像灰度转换,灰度降低70%,调整对比亮度

(2)图像灰度变换。读入lena_gray.tif文件,对其灰度进行下列调整,并显示图像; 将图像的灰度降低70%,同屏显示原图和灰度调整后的图像;将灰度加上一个值(如50),使图像变亮,编程,同屏显示原图像和灰度调整后图像。 知识点一:Mat dst dst = Mat::zeros(src1.size(),src1.type()); 创建一张与原图像src1大小类型一样的空白图像,像素值初...

LiuSong的博客 7284

MoveIt避坑指南:UR机械臂编程中常见的5个错误及解决方法

本文针对UR机械臂与MoveIt集成开发中的常见问题,总结了五个典型错误及其解决方案,包括关节限位设置、坐标系混淆、规划器选择、运动学求解器配置以及线程资源管理。重点分析了正逆运动学求解错误的原因,并提供了调整容忍度、显式指定坐标系、选择合适规划器及优化IK配置等实用代码示例,帮助开发者提升编程效率与系统稳定性。

root9的博客 434

YOLO26 网络结构逐模块解析:Backbone/Neck/Head

本文解析了YOLO26目标检测网络的架构设计,重点介绍其在Backbone、Neck和Head三个核心组件的创新优化。Backbone采用改进的CSP模块与轻量级注意力机制,提升特征提取效率;Neck使用改进的BiFPN结构实现高效多尺度特征融合;Head采用完全解耦设计简化回归流程。文章详细分析了各模块的技术演进、实现细节和设计思想,通过流程图和代码示例展示了YOLO26的整体架构和关键组件实现。该研究对模型优化、定制开发和硬件部署具有重要指导意义。

一键难忘的博客 1247

【OpenCV】—图像对比度、亮度值调整

算子:图像处理算子都是一个函数,它接受一个或多个输入图像,并产生输出图像。算子的一般形式: g(x)=h(f(x))或者g(x)=h(f0(x).....fn(x)) g(x)=h(f(x))或者g(x)=h(f0(x).....fn(x)) g(x)=h(f(x))或者g(x)=h(f0(x).....fn(x))两种最常用的点操作(点算子)是乘上一个常数(对应对比度的调节)以及加上一个常数(对应亮度值的调节)。公式如下: g(x)=a∗f(x)+b g(x)=a*f(x)+b g(x)=a∗f(x)+b

qq_44859533的博客 6452

【异常】安装OpenClaw遇到 Windows环境pnpm安装node-llama-cpp postinstall生命周期脚本执行失败完整解决方案

摘要: Windows环境下使用pnpm安装node-llama-cpp时,postinstall脚本执行失败(错误码3221225477),主要因缺少C++编译工具链或预构建二进制下载失败。解决方案: 基础排查:确保管理员权限、Node.js ≥18、路径无中文; 安装编译工具:推荐Visual Studio的“C++桌面开发”组件或windows-build-tools; 环境变量配置:强制CPU模式+国内镜像(NODE_LLAMA_CPP_FORCE_CPU=true,镜像地址替换为国内源); pnp

奶爸的编程之路,也就一周冷个三天 619

opencv 调整图像亮度和对比度

图像亮度 以灰度图像为例,图像亮度指的是图像的明暗程度,图像的像素值整体越接近于255,图像越亮,反之越接近于0,图像越暗。 图像对比度 假设灰度图像的像素值的范围为[a,b],如果b-a的值越接近于255,图像对比度越大,看上去图像更清晰;反之越接近于0,图像越不清晰。 修改图像的亮度和对比度 OpenCV中亮度和对比度应用这个公式来修改:g(x)=αf(x)+β,其中:α(>0...

Ibelievesunshine的博客 1万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

OPENCV python修改图片对比度和亮度

import cv2 import numpy as np # 图像混合 img1 = cv2.imread('add1.png')# (380, 308, 3) #读取图片1 img2 = cv2.imread('add2.png')# (380, 308, 3) #读取图片2 dst = cv2.addWeighted(img1, 0.7, img2, 0.3, 0) # 第一幅图的权重是 ...

飞花的世界 6821

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

图像对比度与亮度调整算法实现(Python&OpenCV)

算法对图片对比度和亮度的调整一般通过下面公式计算: g(x,y) = a*f(x,y)+bf(x,y)代表源图像x行,y列的像素点的c通道的数值 g(x,y)代表目 标图像x行,y列的像素点的c通道的数值 a参数(a>0)表示放大的倍数(一般在0.0~3.0之间) b参数一般称为偏置,用来调节亮度 代码实现Python&OpenCV代码实现上述算法a=1.2 b=100 for i in

郝凡的博客 1万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

python opencv调节图片亮度与对比度

python opencv调节图片亮度与对比度 亮度调整是将图像像素的强度整体变大/变小,对比度调整指的是图像暗处变得更暗,亮出变得更亮,从而拓宽某个区域内的显示精度。 创建两个滑动条分别调整对比度和亮度(对比度范围:0 ~ 0.3, 亮度0 ~ 100)。提示:因为滑动条没有小数,所以可以设置为0 ~ 300,然后乘以0.01 代码 import cv2 import numpy as np a...

weixin_44493841的博客 1万+

用OpenCV改变图像的对比度和亮度

经过α,β校正后,我们可以观察到由于饱和度而导致的 255 处的大峰值以及向右的偏移。亮度工具应与β偏差参数,但对比工具似乎与α增益,其中输出范围似乎以 Gimp 为中心(正如您在前面的直方图中看到的)。255] 范围的像素值将饱和(即,高于(/小于)255(/ 0)的像素值将被限制为 255(/ 0))。直方图表示每个颜色级别的像素数量。在本段中,我们将实践所学知识,通过调整图像的亮度和对比度来校正曝光不足的图像。由于这种关系是非线性的,因此对于所有像素而言,效果不会相同,并且取决于它们的原始值。

ljygood2的博客 1716

python numpy opencv调整图片亮度对比度饱和度

(想要完整代码直接划到最后)原理比较简单,本质上是对图像各个通道的每个像素点做线性变换,对超出范围[0,255]的做截断处理,所以使用numpy处理比较方便。

m0_75276370的博客 6364

opencv-python图像增强七:图像亮度对比度饱和度调整

在图像处理领域,对比度、亮度和饱和度是影响图像视觉效果的重要因素。合理调整这三个参数,可以使图像更具表现力,满足不同场景的需求。本文将带领大家使用OpenCV,这一强大的开源计算机视觉库,轻松实现图像对比度、亮度和饱和度的修改。本文将从基础知识入手,详细介绍如何使用OpenCV对图像进行操作,包括对比度、亮度和饱和度的调整。

HanWenKing的博客 7738

修改图片的对比度和亮度,并再次显示

#include"stdafx.h" #include&lt;opencv2\opencv.hpp&gt; #include&lt;iostream&gt; usingnamespacecv; usingnamespacestd; voidon_ContrastAndBright(int, void*); voidshowHelpText(); intg_nCo...

moon 958

OpenCV之图像对比度与亮度调整(C++实现)

图像对比度和亮度的调整,属于图像处理中的点操作,其有一个特点:仅仅根据输入像素的值,来计算相应的输出像素值。这列蒜子包括亮度和对比度调整、颜色校正和变换。 最常用的点操作是乘以一个常数,再加上一个常数,公式如下: 其中: f(x)表示源像素 g(x)表示输出像素 a被称为增益,需满足a>0,常常被用来控制图像的对比度 b是偏置,被用来控制图像的亮度。 代码实现如下: #include <iostream> #include <opencv2/opencv.hpp&gt

xddwz的博客 2117

使用OpenCV处理图片的亮度、对比度、曝光、高光、阴影、饱和度、色温,色相(附源码)

集成opencv的方式请参照上一个帖子废话不多说直接上代码,伸手党福利:代码中记得引入头文件及命名空间。

mumubumaopao的博客 7474

图像的对比度和亮度

伽马矫正

weixin_45591821的博客 1396

Opencv C++ 调整图片的亮度与对比度

图片下载地址: 链接: https://pan.baidu.com/s/1dtEdFa5XWG4xi1aXv5GbtQ 提取码: cteu #include <opencv2/core.hpp> #include <opencv2/highgui.hpp> #include <opencv2/imgproc.hpp> using namespace std; using namespace cv; int g_nContrastValue; //对比度; int g

廷益_飞鸟的博客 627

OpenCV__Python图像的对比度亮度调整_教程9

1、图像的对比度亮度调整方法一 通过np.clip函数进行调整 numpy.clip(x, x_min, x_max, out=None)[source] 其中a是一个数组,后面两个参数分别表示最小和最大值,也就是说clip这个函数将将数组中的元素限制在x_min, x_max之间,大于x_max的就使得它等于 x_max,小于x_min,的就使得它等于x_min。 import numpy as np x=np.array([1,2,3,4,5,6,7,8,9]) dst = np.clip

chencaw的专栏 5806
上一篇: OpenCV实验系列之图片线性混和操作
下一篇: SPI总线
Nrush
博客等级 码龄11年 55粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值