test.cpp

来自「OpenCV means Intel&reg Open Source Compu」· C++ 代码 · 共 33 行

CPP
33
字号
#include <cv.h>
#include <highgui.h>
#include <math.h>
 
int main( int argc, char** argv )
{
     CvPoint center;
     double scale=-3;
     IplImage* image =
         cvLoadImage(argc == 2 ? argv[1] : "lena.jpg");

     if(!image) return -1;

     center = cvPoint(image->width/2,image->height/2);

     for(int i=0;i<image->height;i++)
        for(int j=0;j<image->width;j++)
        {
           double dx=(double)(j-center.x)/center.x;
           double dy=(double)(i-center.y)/center.y;
           double weight=exp((dx*dx+dy*dy)*scale);
           uchar* ptr = &CV_IMAGE_ELEM(image,uchar,i,j*3);
           ptr[0] = cvRound(ptr[0]*weight);
           ptr[1] = cvRound(ptr[1]*weight);
           ptr[2] = cvRound(ptr[2]*weight);
        }
     cvNamedWindow( "test", 1 );
     cvShowImage( "test", image );
     cvWaitKey();
     return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?