首页 > 其他分享 >数字图像处理(18):图像亮度调节:线性变换

数字图像处理(18):图像亮度调节:线性变换

时间:2024-12-11 14:32:19浏览次数:8  
标签:wire 线性变换 val 18 数字图像处理 亮度 add adjust 图像

        (1)图像亮度:反映图像的明暗程度,在图像处理中,亮度常用灰度值表示,灰度值越高,图像越亮。对图像进行亮度调节,可以改善图像的视觉效果,让图片更亮或更暗,以适应实际需求。

        (2)线性亮度和对比度调节:通过对每个像素进行相同系数的增加或减少,来整体提高或降低图像的亮度。线性算法简单,但是可能会引起图像细节的丢失,算法公式如下:

         Out = In * alpha + beta

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

        (3)非线性亮度和对比度调节

        采用非线性函数对图像的亮度进行调整,以更加精细地处理图像的亮度变化。在图像处理中,非线性亮度调整调节通常会使用伽马变换来实现,公式如下:

  O= I^{r}

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

  • 当r小于1时,提亮图像,拉伸暗部。这种变换对增加暗部细节非常有用。
  • 当r大于1时,压暗图像,压缩暗部,这种变换对防止高亮区域过度曝光非常有效。
  • 当r等于1时,伽马变换变为线性变换,即输入与输出亮度值相等,图像亮度保持不变。

        伽马变换可以有效地调整图像地对比度和亮度,特别是在暗部和亮度区域,由于人眼对不同亮度的敏感度是非线性的,因此伽马变换被广泛应用于图像处理和显示设备中,以实现更加自然和逼真的图像视觉效果。

        (4)FPGA实现线性变换

module image_bright_adjust
(
    input   wire    [7:0]   red             ,
    input   wire    [7:0]   green           ,
    input   wire    [7:0]   blue            ,
    input   wire    [7:0]   adjust_val      ,           //亮度调节0-255
    input   wire            add_or_sub      ,           //1表示增加亮度,0表示减少亮度
    
    output  wire    [7:0]   red_adjust      ,
    output  wire    [7:0]   green_adjust    ,
    output  wire    [7:0]   blue_adjust       
    
);

wire    [8:0]   r_w,g_w,b_w;

assign r_w = add_or_sub ? (red + adjust_val):((red > adjust_val)?(red - adjust_val):9'd0);
assign g_w = add_or_sub ? (green + adjust_val):((green > adjust_val)?(green - adjust_val):9'd0);
assign b_w = add_or_sub ? (blue + adjust_val):((blue > adjust_val)?(blue - adjust_val):9'd0);

assign red_adjust = (r_w >= 9'd255)?(8'd255):r_w;
assign green_adjust = (g_w >= 9'd255)?(8'd255):g_w;
assign blue_adjust = (b_w >= 9'd255)?(8'd255):b_w;


endmodule

        (8)实验现象:

  • 顶层输入adjust_val = 128,add_or_sub =1,现象如下:

  • 顶层输入adjust_val = 128,add_or_sub =0,现象如下:

标签:wire,线性变换,val,18,数字图像处理,亮度,add,adjust,图像
From: https://blog.csdn.net/2301_80417284/article/details/144396331

相关文章

  • 代码随想录算法训练营第四十三天|LeetCode300.最长递增子序列、LeetCode674.最长连续
    前言打卡代码随想录算法训练营第49期第四十三天 (๑ˉ∀ˉ๑)首先十分推荐学算法的同学可以先了解一下代码随想录,可以在B站卡哥B站账号、代码随想录官方网站代码随想录了解,卡哥清晰易懂的算法教学让我直接果断关注,也十分有缘和第49期的训练营大家庭一起进步。LeetCode300......
  • xtu oj 1618 素数个数
    文章目录前言代码思路前言有点儿难,至少对我来说。去年考试我没写出来。代码#include<stdio.h>#include<stdbool.h>#include<stdlib.h>//加math那个头文件好像要加这个头文件,我之前编译错误过,血泪教训#include<math.h>#defineN1000010#defineLLlonglong......
  • 数字图像处理期末分享(某油)
    一、名词解释数字图像:空间坐标和灰度均不连续的、用离散数字表示的图像数字图像处理:对数字图像进行的处理主要借助于计算机来进行处理的,故数字图像处理又被称为计算机图像处理。遥感图像:是指记录各种地物电磁波大小的胶片或照片,主要分为航空像片和卫星相片。对比度:明暗的对......
  • CF2018C Tree Pruning
    分析好像官方题解是反向求解的,这里提供一个正向求解的思路,即直接求出最后所有叶节点到根的距离相同为\(x\)时需要删除的结点数\(ans_x\)。如果我们最后到根的相同距离为\(x\),那么答案有两个组成部分。第一个部分,若到根距离为\(x\)的结点是一个中间结点,也就是说这个结点......
  • 国标GB28181软件LiteGBS国标GB28181公网平台,浏览器登录后不能下载录像怎么办?
    用户在浏览器登录LiteGBS平台后遇到无法下载录像的问题时,这可能会影响到视频监控数据的追溯和证据保存,从而对整个监控系统的完整性和可靠性造成影响。这种情况可能由多种因素引起,包括但不限于用户权限设置、网络连接问题、平台配置错误或软件兼容性问题。解决这些问题,确保用户能够......
  • 国标GB28181设备管理软件LiteGBS国标GB28181视频平台,遇到实况卡顿花屏问题怎么处理?
    在使用LiteGBS国标GB28181视频平台进行实况监控时,遇到卡顿和花屏问题是用户经常面临的一大挑战。这些问题不仅影响了监控画面的流畅度和清晰度,也对监控效果产生了直接影响。通常,这些问题可能是由网络带宽不足、视频码率设置过高或者流传输模式不适配等因素引起的。一般情况下,VM平......
  • 国标GB28181软件LiteGBS国标GB28181-2022平台无法绑定视频源的解决方法?
    在视频监控管理领域,LiteGBS国标GB28181-2022平台以其卓越的性能和兼容性而广受用户青睐。然而,用户在使用该平台时可能会遇到无法绑定视频源的问题,这不仅影响了监控系统的效能,也可能对安全管理造成隐患。这种情况可能是由多种因素引起的,包括配置错误、兼容性问题、网络设置不当或平......
  • ISUP协议视频平台EasyCVR视频汇聚平台国标GB28181协议接入不能播放是什么原因?
    在现代视频监控系统中,确保视频流的稳定播放是至关重要的。ISUP协议视频平台EasyCVR提供了多种协议支持和配置选项以满足不同用户的需求。然而,用户在使用过程中可能会遇到一些技术问题,比如国标协议接入时无法播放视频的情况。本文将详细介绍如何诊断和解决这类问题。通过这些步骤,......
  • 国标GB28181视频平台EasyCVR视频融合平台:安防监控系统中的无线传输的常见类型
    在现代安防监控系统中,无线传输技术扮演着至关重要的角色,它们不仅提高了监控系统的灵活性和覆盖范围,还增强了数据传输的效率和可靠性。本文将详细介绍安防监控系统中的无线传输技术,包括Wi-Fi、无线网桥、4G/5G、微波传输和卫星传输等常见类型,以及它们在实际应用中的优势和挑战。同......
  • WebLogic T3反序列化漏洞(CVE-2018-2628)--vulhub
    WebLogicT3反序列化漏洞(CVE-2018-2628)WebLogic在通信过程中使用T3协议传输数据,涉及到了序列化和反序列化操作。T3协议概述T3协议是Oracle的私有协议,所以公开的相关资料比较少,这里结合其他师傅的博客简单对T3协议进行一个简要分析。T3协议是WebLogic的一种专有通信协......