Opencv— — Color Gradient

来源:互联网 发布:建行网络学系统手机 编辑:程序博客网 时间:2024/06/06 10:00
// define head function#ifndef PS_ALGORITHM_H_INCLUDED#define PS_ALGORITHM_H_INCLUDED#include <iostream>#include <string>#include "cv.h"#include "highgui.h"#include "cxmat.hpp"#include "cxcore.hpp"#include "math.h"using namespace std;using namespace cv;void Show_Image(Mat&, const string &);#endif // PS_ALGORITHM_H_INCLUDED#include "PS_Algorithm.h"#include <time.h>using namespace std;using namespace cv;#define pi 3.1415926int main(){    string Img_name("4.jpg");    Mat Img;    Img=imread(Img_name);    Mat Img_out(Img.size(), CV_8UC3);    int width=Img.cols;    int height=Img.rows;    float rNW=1.0;     float gNW=0.0;    float bNW=0.0;    float rNE=1.0;     float gNE=1.0;    float bNE=0.0;    float rSW=0.0;     float gSW=0;      float bSW=1.0;    float rSE=0.0;     float gSE=1.0;    float bSE=0.0;    float fx, fy;    float p, q, r, g, b;    for (int y=0; y<height; y++)    {        for (int x=0; x<width; x++)        {            fx=(float)(x)/width;            fy=(float)(y)/height;            p = rNW + (rNE - rNW) * fx;            q = rSW + (rSE - rSW) * fx;            r = ( p + (q - p) * fy );            r = min(max(r, 0.0f), 1.0f);            p = gNW + (gNE - gNW) * fx;            q = gSW + (gSE - gSW) * fx;            g = ( p + (q - p) * fy );            g = min(max(g, 0.0f) ,1.0f);            p = bNW + (bNE - bNW) * fx;            q = bSW + (bSE - bSW) * fx;            b = ( p + (q - p) * fy );            b = min(max(b, 0.0f), 1.0f);            Img_out.at<Vec3b>(y, x)[0]=b*255.0;            Img_out.at<Vec3b>(y, x)[1]=g*255.0;            Img_out.at<Vec3b>(y, x)[2]=r*255.0;        }    }    Show_Image(Img_out, "out");    cout<<"All is well"<<endl;   // imwrite("Out.jpg", Img_out);    waitKey();}// define the show image#include "PS_Algorithm.h"#include <iostream>#include <string>using namespace std;using namespace cv;void Show_Image(Mat& Image, const string& str){    namedWindow(str.c_str(),CV_WINDOW_AUTOSIZE);    imshow(str.c_str(), Image);}

图像效果可以参考:

http://blog.csdn.net/matrix_space/article/details/46906849

0 0
原创粉丝点击