FPGA 图像亮度、对比度、饱和度调节

1 亮度

1.1 亮度简介

亮度是指图像的光度学或感觉上的属性,它反映了图像的明暗程度。在图像处理中,亮度通常用灰度值表示,灰度值越高,图像看起来越亮;反之,越低则越暗。

对图像进行亮度调节,可以改善图像的视觉效果,使图像更亮或更暗,以适应不同的显示环境和用户需求。例如,在光线较暗的环境中,提高图像亮度可以帮助看清图像内容;而在光线强烈的环境中,降低亮度可以避免过曝。

1.2 亮度调节方法

1.2.1 线性亮度和对比度调节

通过对每个像素的亮度进行相同系数的增加或减少,来整体提高或降低图像的亮度。

这种方法简单,但可能会导致图像细节的丢失。

线性算法的公式如下:

Out = In * alpha + beta

其中,Out表示调整后的亮度值,In表示原始亮度值,alpha表示增益,用来控制对比度,beta表示偏置,用来控制亮度。

1.2.2 非线性亮度和对比度调节

采用非线性函数对图像的亮度进行调整,以更精细地处理图像的亮度变化,通常会考虑图像的局部信息和整体信息,来提高调节的效果。

非线性亮度调节通常涉及到一个映射函数,这个函数将原始图像的像素值映射到新的像素值,以此来改变图像的亮度。

映射函数通常是复杂的,它可以是任何形式,包括但不限于幂律(例如Gamma校正),对数,指数,或是其他更复杂的数学函数。

在图像处理中,非线性亮度调节通常使用伽马变换(Gamma Correction)来实现。

伽马变换的公式为:

O = I^(1/γ) 或 O = I^γ

其中,I代表输入像素的亮度值,O代表输出像素的亮度值,γ代表伽马值。这个公式实际上是对输入像素的亮度值进行幂运算,通过调整伽马值来改变图像的亮度。

具体来说:

  1. 当γ小于1时,图像的高亮度区域将被压缩而低亮度区域将被扩展,从而使图像变亮。这种变换对于增强暗部细节非常有用。
  2. 当γ大于1时,图像的低亮度区域将被压缩而高亮度区域将被扩展,从而使图像变暗。这种变换对于防止高亮区域过度曝光非常有效。
  3. 当γ等于1时,伽马变换变为线性变换,即输入和输出亮度值相等,图像亮度保持不变。

伽马变换可以有效地调整图像的对比度和亮度,特别是在暗部和亮部区域。由于人眼对不同亮度的敏感度是非线性的,因此伽马变换被广泛应用于图像处理和显示设备中,以实现更自然、更逼真的图像视觉效果。在实际应用中,通常需要根据具体的图像内容和处理需求来选择合适的伽马值进行亮度调节。

1.3 对比度与亮度的关系

对比度是图像中明暗区域之间的差异度量,亮度调节有时会与对比度调节结合,以同时改变图像的亮度和对比度。

对比度的调整通常也会用到类似的算法,如阈值处理和像素值的映射。

1.4 FPGA实现

这里使用线性亮度调节实现

1.4.1 仿真工程

1.4.2 

2 对比度

3 饱和度

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/735483.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

宝塔一键迁移报错创建失败问题完美解决

很多站长朋友在使用宝塔面板迁移的时候总是出错,如图: 遇到这样的问题不要慌,我们已经完美处理,详细解决教程:宝塔一键迁移报错问题完美解决教程

力扣爆刷第90天之hot100五连刷36-40

力扣爆刷第90天之hot100五连刷36-40 文章目录 力扣爆刷第90天之hot100五连刷36-40一、94. 二叉树的中序遍历二、104. 二叉树的最大深度三、26. 翻转二叉树四、101. 对称二叉树五、543. 二叉树的直径 一、94. 二叉树的中序遍历 题目链接:https://leetcode.cn/proble…

【洛谷千题详解】P1838 三子棋I

题目总览 题目描述 小 a 和 uim 喜欢互相切磋三子棋。三子棋大家都玩过是吗?就是在九宫格里面 OOXX(别想歪了),谁连成 3 个就赢了。 由于小 a 比较愚蠢,uim 总是让他先。 我们用 9 个数字表示棋盘位置:…

微信小程序跳转到其他小程序

有两种方式,如下: 一、appid跳转 wx.navigateToMiniProgram({appId: 目标小程序appid,path: 目标小程序页面路径,//不配的话默认是首页//develop开发版;trial体验版;release正式版envVersion: release, success(res) {// 打开成功…

JDBC的学习记录

JDBC就是使用java语言操作关系型数据库的一套API。 JDBC(Java Database Connectivity)是Java语言中用于连接和操作数据库的一种标准接口。它提供了一组方法和类,使Java程序能够与各种不同类型的关系型数据库进行交互。 JDBC的主要功能包括建…

QT 笔记 QGraphicsItem 介绍

介绍 QGraphicsItem是Qt中用于在图形视图框架中表示可视图形项的基类。在Qt的图形视图框架中,你可以使用QGraphicsItem及其派生类来创建可在图形场景中显示的图形元素。下面是关于QGraphicsItem的一些重要信息: 作用:QGraphicsItem是所有在…

Dockerfile指令大全

Dockerfile文件由一系列指令和参数组成。指令的一般格式为INSTRUCTION arguments。具体来说,包括"配置指令"(配置镜像信息)和"操作指令"(具体执行操作)。每条指令,如FROM,都是大小写不敏感的。但是为了区分指令和参数&am…

Angular基础---HelloWorld---Day3

文章目录 0.ng-model 的几种不同的class属性1.ng-model 的引用与属性的调用2.表单验证: (模版引用变量、ngModel 、ngif一起使用)3.根据class属性的值ng-invalid ,设置动态变化的样式 0.ng-model 的几种不同的class属性 引用ng-model 元素的c…

数据体系规范化

基础是标准化、规范化 建立数据仓库,面向主题的、集成的、相对稳定的、反映历史变化的数据集合,以支持管理决策decision making 大数据:大量volumn、多样variety、快速velocity、价值密度低value、准确性veracity、可视化visualization、合法性validity 多源数据、多样数…

分布式执行引擎ray入门--(3)Ray Train

Ray Train中包含4个部分 Training function: 包含训练模型逻辑的函数 Worker: 用来跑训练的 Scaling configuration: 配置 Trainer: 协调以上三个部分 Ray TrainPyTorch 这一块比较建议直接去官网看diff,官网色块标注的比较清晰,非常直观。 impor…

MySQL-视图:视图概述、使用视图注意点、视图是否影响基本表

视图 一、视图概述二、使用视图注意点三、视图操作是否影响基本表 一、视图概述 在数据库管理系统中,视图(View)是一种虚拟表,它并不实际存储数据,而是基于一个或多个实际表的查询结果。视图提供了一种对数据库中数据…

题目 2132: T1268-完全背包问题

题目描述: 设有n种物品,每种物品有一个重量及一个价值。但每种物品的数量是无限的,同时有一个背包,最大载重量为M,今从n种物品中选取若干件(同一种物品可以多次选取),使其重量的和小于等于M,而价值的和为最…

RabbitMQ备份交换机

1. 备份交换机 备份交换机可以理解为 RabbitMQ 中交换机的“备胎”,当我们为某一个交换机声明一个对应的备份交换机时,就是为它创建一个备胎,当交换机接收到一条不可路由消息时,将会把这条消息转发到备份交换机中,由备…

reids设计与实现(一)——数据对象

文章目录 1. 前言2. redis 动态字符串2.1. 字符串的数据结构:2.2. 剖析,length;2.3. 剖析,free;2.3. 使用c字符串函数; 3. redis 链表4. 字典5. 跳跃表 1. 前言 reids作为最常用的缓存数据库,深…

web3 DePIN赛道之OORT

文章目录 什么是DePIN什么是oort背景:去中心化云计算场景团队OORT AIOORT StorageOORT Compute 参考 什么是DePIN DePIN是Decentralized Physical Infrastructure Networks的简称,中文意思就是去中心化的网络硬件基础设施,是利用区块链技术和代币奖励来调动分散在世…

mysql笔记:2. 表操作

文章目录 创建表创建表主键约束外键约束非空约束唯一约束默认值约束 查看数据表结构查看表详细结构 修改数据表修改表名修改字段名修改字段数据类型添加字段删除字段更改表的存储引擎 删除数据表删除没被关联的表删除被关联的表 数据表是数据库中最重要、最基本的操作对象&…

单例九品--第九品[可用的设计]

单例九品--第九品[可用的设计] 上一品引入写在前边代码部分实现方式的评注和思考写在最后 上一品引入 自第五品以来,为解决第四品的静态初始化灾难问题,将全局对象设置为指针类型,但是指针是有被修改的风险。所以第八品将全局单例对象封装在…

2024.02.07 校招 实习 内推 面经

绿*泡*泡VX: neituijunsir 交流*裙 ,内推/实习/校招汇总表格 1、校招 | 腾讯TEG 2024 校招开放全新机会,持续热招(内推) 校招 | 腾讯TEG 2024 校招开放全新机会,持续热招(内推) …

【MATLAB】MATLAB学习笔记

MATLAB入门 基础操作变量命名数据类型逻辑和流程控制循环结构分支结构 绘图基本操作二维平面绘图绘图参数三位立体绘图图像窗口的分割 本文参考B站视频:BV13D4y1Q7RS 由于我对于C语言很熟悉,很多语法是会参考C来学 基础操作 清屏%% 清空环境变量及命令 …

图腾柱PFC工作原理:一张图

视屏链接: PFC工作原理