关于图像对比度【1】——对比度和线性变换
来源:互联网 发布:java命令行执行junit 编辑:程序博客网 时间:2024/06/07 00:49
关于图像对比度【1】
对比度和线性变换
关于什么是对比度这事,不好用一个很明确很严谨的词来概括清楚。对比度高,画面看上去就很硬朗,对比度低,画面看上去就朦朦胧胧,比如下面这张图:
对比度和颜色没有关系,换句话说如果使用YUV颜色空间的话,那对比度只与Y通道值(亮度)有关。所以在这里,就先不提颜色了。
针对8位灰度图来说,对比度高,就是白的很白(值接近0),黑的很黑(接近255)。
于是乎,要提高对比度,只要把黑的变黑,白的变白就可以了。最简单的方法,把图上的每个像素的值都作一个线性变换。
如果原图上像素值最大的点值为max(可能离255还很远),像素值最小的点的值为min(可能离0值也很远),线性变换就是要把值域(min,max)拉伸到(0,255)。所以很简单了:y=k(x-min),其中k权且叫做拉伸系数吧,k=255/(max-min)。
把上面这张图,按照上文说的,做一下线性变换,于是得到了如下结果。
ok,对比度确实提高了。
另外说一点儿,上文说道的max和min并不真的就是整张图上的最大值和最小值,实际上如果真的使用绝对的最大值和最小值的话,往往效果很差(值最大的那个点和值最小的那个点很有可能是坏点,或者是由噪声的影响)。一个方法是max取最大的5%的像素的值,min取最小的5%的像素的值(也未必一定是5%)。
对上面这两张图做一下直方图统计,线性变换前的直方图如下:
线性变换后呢,直方图如下:
所以从直方图上看,线性变换不过就是把直方图移动了个位置,做了个拉伸而已。
0 0
- 关于图像对比度【1】——对比度和线性变换
- 关于图像对比度【4】——对比度调整强度
- 关于图像对比度【5】——局部自适应对比度调整
- 关于图像对比度【2】——直方图均衡化
- OpenCV 基于RGB三原色的基本线性变换 改变图像颜色和亮度 对比度增强算法
- 调整图像亮度和对比度
- 对比度
- 对比度
- 关于图像对比度【3】——直方图均衡化的改进
- 学习OpenCV(四) 改变图像的对比度和亮度——像素变换
- 学习OpenCV范例(五)——改变图像的对比度和亮度
- opencv学习笔记(十六)——图像对比度和亮度值
- Open CV学习记录(二)——图像翻转、锐化、亮度和对比度
- Photoshop图像处理算法—自动对比度和自动色调(自动色阶)
- 改变图像的对比度和亮度
- opencv-改变图像的对比度和亮度
- 图像的亮度变换和对比度变换
- 改变图像的对比度和亮度
- hdu1698 Just a Hook(线段树)
- 【图像处理】NEON编码4 - 左右移位
- libpng error: Not a PNG file we问题解决
- VS2012 obj文件(3D模型)导入 进行渲染 添加光照和文理
- java集合——遗留的集合
- 关于图像对比度【1】——对比度和线性变换
- 第八周 项目三 顺序串算法(4)
- tableView性能优化
- Android帧动画Drawable Animation
- CentOS6.6下配置KMS自动激活服务器虚拟机简化配置
- RenderTexture的使用
- HDOJ--2025
- NSCalendar的操作
- 用HorizontalScrollView仿电台频道切换