图像处理 增加对比度 - CSDN
  • 1)改善图像的视觉效果,2)转换为更适合于人或机器分析处理的形式3)突出对人或机器分析有意义的信息4)抑制无用信息,提高图像的使用价值5)增强后的图像并不一定保真2,图像增强的方法分类:1)从处理对象分类:...
    展开全文
  • 对比度增强 提前规定:输入图像

    对比度增强

    提前规定:输入图像为?,宽为?,高为?,输出图像?,??,?为输入图像?的 ?行?列像素灰度级,??,?为输出图像?的?行?列像素灰度级,0≤?≤?,0≤?≤?

     

    灰度直方图

    灰度直方图描述了一幅图像中每个灰度级在图像中占据的像素个数或者是比率,利用灰度直方图,通过数学方法,我们可以很容易的实现图像的处理

    1.1线性变换

    输入图像为?,宽为?,高为?,输出图像? ,图像的线性变换可以表示为

    ??,?=?∗??,?+?,0≤?≤?,0≤?≤?

    优点:简单易懂

    缺点:通过该方法可以调整图像的对比度,但是参数?,?需要根据自己实际图像进行多次测试来确定,比较繁琐

     

    1.2直方图正则化

    直方图正则化,依据了统计学原理,来进行图像的对比度调整:

    一般规定????=255;????=0

     

    优点:直方图正规化自动选取?,?的线性变换

    缺点:1.变换后图像的灰度级减少,某些细节消失;2.某些图像,如直方图有高峰,经处理后对比度不自然的过分增强

     

     

    1.3 伽马变换

     

    伽马变换的方法,首先将灰度值诡异到[0.1]范围,??,?表示归一化之后的像素值

    ??,?=??,??,0≤?≤?,0≤?≤?

    输出图像不变:伽马=1

    输入图像整体过暗,可以调整令 0<γ<1, 来增加对比度

    输入图像整体过暗,  可以调整令   γ>1对比度

    优点:提升对比度效果比较好

    缺点:需要手动调整γ值

     

    1.4 全局直方图均衡

    原图 ? 的直方图是各个像素级分布不均匀,导师对比度出现问题,全局直方图均衡使得输出图像?的像素均匀分布在每一像素级别,输出图像?的对比度达到一个比较好的效果。

    全局直方图均衡就是在做这个工作,找出亮度级别为p的输入像素到亮度级别为q的输出像素的映射,最终使得输出图像?的像素均匀分布在每一像素级别。

    所以推得:

    1.5限制对比度的自适应直方图均衡化

    将图形划分为不重叠的区域,单独对每个区域做直方图均衡化。为了避免每个区域中的噪声被放大,使用限制对比度的方法,某点像素值超过了该区域的限制对比度,则将起均匀分配给该区域中其他的像素点。

    展开全文
  • 最近在制作一个安卓上的图像处理软件,感觉调整对比度这个功能,在photoshop上还是比较常用的功能,于是就在软件上加上这个功能。 对比度的定义:简单的来说就是使亮的地方更亮,暗的地方更暗。 但是关于亮与...

    最近在制作一个安卓上的图像处理软件,感觉调整对比度这个功能,在photoshop上还是比较常用的功能,于是就在软件上加上这个功能。

    对比度的定义:简单的来说就是使亮的地方更亮,暗的地方更暗。

    但是关于亮与暗的解释有很多种,在RGB模式中,要使图片变亮的方法是提高R,G,B三个通道的值,从而使图片看起来更亮。

     

    网上最常用的调整对比度的算法是根据图像的灰度进行调整

    下面是算法:

     

    1、计算平均亮度

    2、每点与平均亮度比较,得到差值。

    3、新的亮度 = 平均亮度 + 系数 *  差值

    4、根据新的亮度,计算出新的rgb(保持色调不变)

     

    这里亮度就是图像的灰度 亮度的计算方法具体请参考RGB色转为灰度色算法

    就算出新的RGB颜色,保持色调不变,只需要保持RGB通道的比例不变就行

    关于3的公式,有的是 新的亮度 = 此点的亮度 + 系数 * 此点的亮度 * 差值 但两个公式处理出来的效果差不多,下面放出分别用两个公式的效果图

    数字图像处理 <wbr>调整对比度的几种方法

    此为 新的亮度 = 平均亮度 + 系数 * 差值 的结果

     

    数字图像处理 <wbr>调整对比度的几种方法

    此为 新的亮度 = 此点的亮度 + 系数 * 此点的亮度 * 差值 的结果

     

    数字图像处理 <wbr>调整对比度的几种方法

    此为原图

     

    数字图像处理 <wbr>调整对比度的几种方法

    此为Photoshop 中提高对比度后的结果

     

    可以看到用这种方法处理出来的结果和PS的结果相差甚远,很不能令人满意

     

    于是我对PS调整对比度的结果进行分析

    发现当调整对比度时,Lab通道的 a与b通道的值并不改变,改变的只是L(明度)的大小,而不是像RGB一样,调整对比度后R,G,B通道的值都发生变化

    数字图像处理 <wbr>调整对比度的几种方法

    L通道直方图,灰色为调整前,黑色为调整后

    数字图像处理 <wbr>调整对比度的几种方法

    a通道,可以发现调整前后无变化

    数字图像处理 <wbr>调整对比度的几种方法

    b通道,调整前后无变化

    对L通道的直方图加以分析,发现明度的变化有以下规则(假设明度最大值为1):


    明度大于0.5的像素,增加其明度

    明度小于0.5的像素,减小其明度

    与平均明度并无关系

    明度的增加/减小 偏移量由低到高再降低,可以将此简单的认为是一个抛物线,抛物线的两个焦点分别为

    (0.5,1) 明度>0.5

    (0,0.5) 明度<0.5

     

    公式为

    新的明度=(明度-0.5)*(明度-1)*系数+明度   明度>0.5

    新的明度=-(明度-0.5)*(明度-0)*系数+明度  明度<0.5

     

    利用此方法处理后的图像效果如下

    数字图像处理 <wbr>调整对比度的几种方法

     

    效果很不错~ 保持了原有色调的同时提高了对比度,并且与PS的效果相近,不过对于暗的部分处理不明显,可以通过增加对暗部分的系数来修正

     

    不过采用次方法有个很大的缺点:运算复杂

    使用此方法需要消耗多于第一个方法好几倍的时间和空间

    举个例子

    一张 1080*1528 像素的图片用此方法处理

    需要用到600M的内存,并在在我的电脑上需要跑3秒以上的时间

    相对于现在手机支持的分辨率而言,1080*1528并不大,但一般的手机却并不具有这么大的内存与能和台式机匹敌的计算功能。所以这个方法并不实用。

     

    之所以这个方法如此复杂,是因为需要处理前需要将RGB模式转换为Lab模式,在Lab模式下处理图像,处理完后还需要重新转换为RGB模式以便输出,然而RGB转Lab的算法太过复杂。

     

    在此基础上寻求另一种调整对比度的方法

    HSV颜色空间中,颜色由色调、饱和度和明度三个分量确定。

    可以试着保持色调和饱和度不变,通过调整明度来改变图像的对比度。

    利用此方法的优点是:实现简单,RGB到HSV能过进行快速的变换,而且调整的同时只改变了明度的大小,能够保证色调与调整前一致。不需要像方法二一样的空间与时间

    下面是利用HSV空间调整的效果

    数字图像处理 <wbr>调整对比度的几种方法

    与PS的结果有点偏差,但就效果而言比方法一好多了

     

    一直想在手机上做个能让自己满意的图像处理工具。昨天花了一整天的时间在搞对比度的处理。

    将这些心得与同是对数字图像处理有爱的人分享。

    最后就懒得发代码了,写这博文花了两小时 (┳_┳)... 累

    如果有需要源码的可以私信或者发邮件amethystarry@gmail.com

     

    谢谢!!☆⌒(*^-゜)v

    展开全文
  • 通过使用matlab将图片的对比度提升。程序如下:% 通过灰度直方图的数据显示该图像的灰度值整体偏高,图像过于明亮, % 所以选用 γ &gt; 1 的伽马变换 % 降低图像的亮度,提升图片的对比度。 clc img1 = imread...
    通过使用matlab将图片的对比度提升。程序如下:
    % 通过灰度直方图的数据显示该图像的灰度值整体偏高,图像过于明亮,
    % 所以选用 γ > 1 的伽马变换
    % 降低图像的亮度,提升图片的对比度。
    clc
    img1 = imread('einstein.tif'); % 读入图像
    imgdata = im2double(img1);
    
    P1= 1 * (imgdata .^ 1.2);
    P2= 1 * (imgdata .^ 1.4);
    P3= 1 * (imgdata .^ 1.6);
    P4= 1 * (imgdata .^ 1.8);
    P5= 1 * (imgdata .^ 2.0);
    img=mapminmax(imgdata, 0, 1);
    figure
    imhist(img);
    title('灰度直方图');
    
    figure
    subplot(2,3,1);
    imshow(img1)
    title('原始图像');
    subplot(2,3,2);
    imshow(P1)
    title('伽马变换:c=1,γ=1.2')
    subplot(2,3,3);
    imshow(P2)
    title('伽马变换:c=1,γ=1.4')
    subplot(2,3,4);
    imshow(P3)
    title('伽马变换:c=1,γ=1.6')
    subplot(2,3,5);
    imshow(P4)
    title('伽马变换:c=1,γ=1.8')
    subplot(2,3,6);
    imshow(P5)
    title('伽马变换:c=1,γ=2.0')

    效果图:


    展开全文
  • 对比度拉伸是图像增强的一种方法,也属于灰度变换操作。我们看如下图像: 可以看到,这张图片非常灰暗。我们查看下其直方图。 import cv2 import matplotlib.pyplot as plt farina = cv2.imread("far...
  • 本文将介绍数字图像处理中两个基本内容---图像亮度对比度,详细讲解两种基本的亮度对比度调节算法,并使用C语言进行算法实现,在教会初学者算法的同时,不依赖任何第三方库编程实现,学以致用且易学易用。
  • 点运算又称为对比度增强、对比度拉伸或灰度变换,是一种通过图像中的每一个像素值进行运算的图像处理方式。。它将输入图像映射为输出图像,输出图像每个像素点的灰度值仅有对应的输入像素点的灰度值决定,运算结果...
  • 1)改善图像的视觉效果,2)转换为更适合于人或机器分析处理的形式3)突出对人或机器分析有意义的信息4)抑制无用信息,提高图像的使用价值5)增强后的图像并不一定保真2,图像增强的方法分类:1)从处理对象分类:...
  • 图像对比度增强算法

    2017-04-24 09:11:45
    论述了几种基于灰度直方图的图像对比度增强算法。
  • J=imadjust(I) 将强度图像为I的值映射到J中的新值,使得1%的数据在低强度和高强度I时饱和。这将增加了输出图像J的对比度
  • 对比度拉伸是图像增强的一种方法,也属于灰度变换操作。我们看如下图像: 可以看到,这张图片非常灰暗。我们查看下其直方图。 import cv2 import matplotlib.pyplot as plt farina = cv2.imread(...
  • http://www.cnblogs.com/FightForFreedom/p/5018128.html
  • 首先了解一下算子的概念,一般的图像处理算子都是一个函数,它接受一个或多个输入图像,并产生输出图像。下面是算子的一般形式: ...图像亮度和对比度的调整操作,属于图像处理变换中比较简单的一种—...
  • Python 图像对比度增强的几种方法图像处理工具——灰度直方图 图像处理工具——灰度直方图 灰度直方图时图像灰度级的函数,用来描述每个灰度级在图像矩阵中的像素个数或者占有率。 例子: I={abcdefghijklmnopqrst}I...
  • 图像亮度/对比度的调整
  • http://www.cnblogs.com/Leo_wl/p/3324760.html 图像的局部对比度增强算法 ...使用局部标准差实现图像的局部对比度增强算法。... 图像对比度增强算法在很多场合都有着重要的应
  • OpenCV图像增强——通过扩展灰度范围来增加对比度
  • 提高图像对比度

    2019-06-28 09:46:40
    提高图像对比度 程序实现的效果: 第一张为源图像,第二张是增强后的图像,增强后图像中房屋的特征更加清晰。 方法1.用遍历像素的方法实现 #include <opencv2/opencv.hpp> #include <opencv2/highgui/...
1 2 3 4 5 ... 20
收藏数 32,290
精华内容 12,916
关键字:

图像处理 增加对比度