美文网首页
调整图像对比度

调整图像对比度

作者: coolTigers | 来源:发表于2020-04-15 01:34 被阅读0次

有些图像对比度太低,可以通过比例换算的方法提升对比度。


image.png

其中I是原始灰度值,O是结果灰度值。
问题是如何确定Imax和Imin。此处使用一个百分比阈值,表示最小强度值0和最大强度值255像素的百分比。

cv::Mat 
EnhanceContrast(Mat src, Mat hist, double percent)
{
    // 像素的百分比
    float number = src.total() * percent;

    // 找到直方图的左极限
    int imin = 0;
    for (float count = 0; imin< 256; ++imin) {
        // 小于或者等于imin的像素数量必须大于number
        if ((count += hist.at<float>(imin)) >= number) {
            break;
        }
    }

    // 找到直方图的右极限
    int imax = 255;
    for (float count = 0; imax  > 0;  --imax) {
        // 小于或者等于imin的像素数量必须大于number
        if ((count += hist.at<float>(imin)) >= number) {
            break;
        }
    }

    Mat result;
    Mat lut(1, 256, CV_8U);
    for (size_t i = 0; i < 256; i++) {
        lut.at<uchar>(i) = 255 * (i - imin) / (imax - imin) + 0;
    }

    LUT(src, lut, result);
    return result;

}

其中hist上计算得到的一维直方图。对比效果如下:


image.png

相关文章

  • PS学习笔记:基础篇

    一、调整亮度 1. 图像 > 调整 > 亮度/对比度 (粗略调整) 2. 图像 > 调整 > 色阶 (细调整) ...

  • 3. 图像算数操作

    加减乘除 利用加法调整图像亮度 调整图像亮度与对比度 加减乘除输入图像的大小与类型必须一致处理越界 亮度和对比度

  • OpenCV系列 --- 图像对比度、亮度值调整

    今天呢,我们一起学习一下,如何调整图像的对比度以及亮度。 一、原理 调整图像亮度与对比度所用的公式g(i,j) =...

  • 调整图像对比度

    有些图像对比度太低,可以通过比例换算的方法提升对比度。 其中I是原始灰度值,O是结果灰度值。问题是如何确定Imax...

  • OpenCv 改变图像的对比度和亮度

    亮度调整:图像像素强度整体变高/变低对比度调整:图像暗处像素变低,图像亮处像素强度变高,从而拉大中间某个区域范围的...

  • 图像处理基本知识点

    图像像素操作 集合运算,加减乘除 逻辑运算,与或非取反 像素读写 通道混合与调整 对比度与亮度调整 图像几何变换 ...

  • 10.色阶命令一

    这节课我们来开始学习图像-调整菜单里面的命令。首先我们打开一张素材。图像-调整-亮度/对比度。我们要明白什么是亮度...

  • 图片调节项

    亮度:可以调整整体的图像曝光:有限调整图片中较亮的部分,增加信噪比,使图像更清晰锐化:通过增强物体边缘的对比度和区...

  • LR中调色参数笔记

    清晰度、对比度、锐度 清晰度图像局部像素的对比度+分辨率 对比度图像整体的明暗对比 锐度图像边缘像素的对比度,同时...

  • ContrastUp for Mac(AE/pr对比度增强插件)

    ContrastUp是一款对比度细节增强调色的AE/PR插件,可以增强图像对比度并调整阴影,中间调和高光部分。Co...

网友评论

      本文标题:调整图像对比度

      本文链接:https://www.haomeiwen.com/subject/qvnfvhtx.html