图像处理之图像亮度调节
图像处理中,图像亮度调节可能是最简单的算法了,非常常见的线性运算即可完成亮度调节,比如所有像素点亮度值乘或者加一个增强系数,使得图像整体变亮或者变暗。看过一些相关开源代码,常见的操作是乘以一个亮度调节系数。但是,这样做很容易使图像出现过饱和现象,即亮度值超出255。photoshop中是如何实现的不得而知,每个版本可能也不一样。还是说说我的实现方法,其实就是在调节过程中,根据像素点亮度,做非线性调节,即高光、阴影部分调节小一点,中间部分多调节一些,这样亮度调节看着更自然一些。下面是示例代码:
void ImageBrightness(BMPINFO *pSrcBitmap, float strength)
{int brightness = (int)(strength*100);uchar lookupTable[256];for (int i = 0; i < 256; i++){lookupTable[i] = (uchar)MIN(255, MAX(0, i + sin(FILTER_PI*i / 255.0f)*brightness));}int size = pSrcBitmap->lWidth*pSrcBitmap->lHeight;uchar* pSrcData = pSrcBitmap->pPlane[0];for (int i = 0; i < size; i++, pSrcData+=4){pSrcData[AXJ_BLUE] = lookupTable[pSrcData[AXJ_BLUE]];pSrcData[AXJ_GREEN] = lookupTable[pSrcData[AXJ_GREEN]];pSrcData[AXJ_RED] = lookupTable[pSrcData[AXJ_RED]];}
}
亮度调节示例图片,上面为原图,下面为结果图。
图像处理之图像亮度调节相关推荐
- opencv计算图像亮度调节_OpenCV教程创建Trackbar图像对比度、亮度值调整
这篇文章中我们一起学习了如何在OpenCV中用createTrackbar函数创建和使用轨迹条,以及图像对比度.亮度值的动态调整. 文章首先详细讲解了OpenCV2.0中的新版创建轨迹条的函数crea ...
- opencv计算图像亮度调节_opencv调整图像亮度对比度
图像处理 图像变换就是找到一个函数,把原始图像矩阵经过函数处理后,转换为目标图像矩阵. 可以分为两种方式,即像素级别的变换和区域级别的变换 Point operators (pixel transfo ...
- opencv计算图像亮度调节_【opencv学习笔记七】访问图像中的像素与图像亮度对比度调整...
今天我们来看一下如何访问图像的像素,以及如何改变图像的亮度与对比度. 在之前我们先来看一下图像矩阵数据的排列方式.我们以一个简单的矩阵来说明: 对单通道图像排列如下: 对于双通道图像排列如下: 那么对 ...
- MATLAB图像处理imadjust()函数调节图像的对比度示例
imadjust()函数 J=imadjust(I) 将强度图像为I的值映射到J中的新值,使得1%的数据在低强度和高强度I时饱和.这将增加了输出图像J的对比度. J = imadjust(I,[LO ...
- MATLAB图像处理学习——图像增强技术(附图像增强方法代码)
目录 1.概论 (1)图像增强技术简介 (2)图像质量评估 2.空间域内的图像增强 (1)显示灰度直方图 (2)图像灰度值调整 (3)图像亮度调节 (4)灰度图像的反转变换 3.直方图增强 (1)RG ...
- python图像处理《数字图像处理与python实现》读书笔记
文章目录 很重要! 第一章 基础知识 1.1 图像采样和量化 1.2 图像的表示和可视化 1.3 简单图像处理 参考 很重要! scikit-image的开发文档:https://scikit-ima ...
- 基于MATLAB的数字图像处理系统
基于MATLAB的数字图像处理系统 摘要:数字图像处理技术是20世纪60年代发展起来的一门新兴学科,随着图像处理理论和方法的进一步完善,使得数字图像处理技术在各个领域得到了广泛应用,并显示出广阔的应用 ...
- OpenGL 亮度调节
目录 一.OpenGL 亮度调节效果演示 1.IOS 演示效果 2.Windows OpenGL ES 演示效果 3.Windows OpenGL 演示效果 二.OpenGL 亮度调节源码下载 1.I ...
- 数字图像处理: 亮度调整
图像亮度.对比度.饱和度和锐化之间并不是彼此独立的,改变其中一个特征可能会同时引起图像其他特征的变化,至于变化的程度取决于图像本身的特性,先建立一个概念,在后面的会在详述 1.亮度基本概念 图像亮度通 ...
最新文章
- python批量读取grib_windows python读取grib2数据
- 构建之法第四章读后感
- 数据存储之-SQLite数据库二
- flex 结合sandy引擎创作
- FreeSql.Generator命令行代码生成器是如何实现的
- xlwings 合并单元格 读取_xlwings,让excel飞起来
- Oracle wm_concat() 函数
- springcloud多租户实现原理-Saas多租户实现-以及几种方案_设计思路---springcloud工作笔记108
- string.Empty与,null的区别
- cass中的地形图打印细节
- rapidminer java_在Java应用程序RapidMiner的整合(Integration of RapidMiner i
- 中值定理5-泰勒中值定理
- 【Day5.4】高棉风格的柴瓦塔纳兰寺
- 安装visio viewer2013成功后仍无法使用
- Selenium WebDriver API 进阶使用,模块化参数化进行自动化测试设计
- Vanilla是什么
- 黑马程序员------StringBuffer描述(黑马视频)
- virgo tomcat下载
- html中加艺术字体,CSS实现漂亮的大标题文字效果
- 网银支付接口申请介绍
热门文章
- Spring进阶(五):Spring事务管理(详解+实例)
- CloudFoundry DEA运作源码分析
- LeetCode 659 Split Array into Consecutive Subsequences
- 盘点保护隐私安全的浏览器,密码锁屏这个功能,真香
- 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(5)- 再聊eFUSE及其烧写方法...
- 资金互助社学习园地(二) 存贷挂钩---金融机构实现存贷两旺的利器
- Unity发布IOS时设置link.xml遇到的一个fullname不正确的问题
- C语言初阶学习-----01初识C语言
- linux ssh快捷登录服务器
- 米莱狄的机器人是_米莱狄的主要伤害来源于丢出的1技能的飞机,而不起眼的小机器人可以无视掉?...