به این صورت عمل کنید.
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/contrib/contrib.hpp"
Scalar bhConvertColor(const Scalar &color1,const Scalar &color2,uchar cof)
{
Scalar dis_color;
for (int i=0;i < 3;i++)
dis_color.val[i] = (color2.val[i] - color1.val[i]) / 255.0 ;
Scalar result;
for (int i=0; i < 3;i++)
result.val[i] = color1.val[i] + dis_color.val[i] * cof;
result.val[3] = 0;
return result;
}
int _tmain(int argc, char* argv[])
{
Scalar yellow_color = CV_RGB(255,255,0);
Scalar ping_color = CV_RGB(255,0,255);
Mat img(500,500,CV_8UC3,yellow_color);
int step = 255 /5;
for (size_t i=0; i <= 255;i += step){
Scalar color= bhConvertColor(yellow_color,ping_color,i);
img.setTo(color);
imshow("view",img);
waitKey(0);
}
return 0;
}