zoukankan      html  css  js  c++  java
  • 图像灰度值调整(C/C++源代码)

    2004年09月23日 16:00:00

    图像的象素值变换,包括亮度、对比度和GAMMA校正算法,环境是OPENCV4.0,VC6.0。算法参考了MATLAB函数imadjust 。

    //
    // perform histgram equalization for single channel image
    //

    #include "cv.h"
    #include "highgui.h"


    int ImageAdjust(IplImage* src, IplImage* dst,
                   double low, double high,   // lowand high are the intensities of src
                   double bottom, double top, // mapped to bottom and top of dst
                   double gamma )
    {
        double low2= low*255;
        double high2= high*255;
        doublebottom2 = bottom*255;
        double top2= top*255;
        doubleerr_in = high2 - low2;
        doubleerr_out = top2 - bottom2;

        intx,y;
        doubleval;

        if(low<0 && low>1 && high <0 &&high>1 && bottom<0 && bottom>1 &&top<0 && top>1)
           return 1;
       
        // intensitytransform
        for( y = 0;y < src->height; y++)
        {
           for (x = 0; x < src->width; x++)
           {
               val = ((uchar*)(src->imageData + src->widthStep*y))[x];
               val = pow((val - low2)/err_in, gamma) * err_out + bottom2;
               if(val>255) val=255; if(val<0) val=0; // Make sure src is inthe range [low,high]
               ((uchar*)(dst->imageData + dst->widthStep*y))[x] = (uchar)val;
           }
        }
        return0;
    }



    Trackback:http://tb.blog.csdn.net/TrackBack.aspx?PostId=114398


  • 相关阅读:
    常用shell
    JavaScript基础
    CSS动画-页面特效
    CSS3常用操作
    CSS3的盒子模型
    CSS定位
    JQuery中的DOM操作
    [单词用法总结]-as
    JQuery选择器
    css选择器
  • 原文地址:https://www.cnblogs.com/feisky/p/1586553.html
Copyright © 2011-2022 走看看