void get_point_color(float intensity, int &r, int &g, int &b)
{
if (intensity < 1)
{
r = 0; g = 0; b = 118;
}
else if (intensity < 2)
{
r = 84; g = 85; b = 166;
}
else if (intensity < 3)
{
r = 144; g = 155; b = 209;
}
else if (intensity < 4)
{
r = 174; g = 185; b = 229;
}
else if (intensity <5)
{
r = 248; g = 187; b = 163;
}
else if (intensity < 6)
{
r = 226; g = 147; b = 133;
}
else if (intensity < 7)
{
r = 200; g = 110; b = 105;
}
else if (intensity < 8)
{
r = 167; g = 47; b = 46;
}
else
{
r = 110; g = 0; b = 0;
}
//r = 255; g = 0; b = 0;
}
void draw_tuli()
{
cv::Mat dst = cv::Mat(35*9, 40, CV_8UC3, cv::Scalar(255, 255, 255));
for (int iy = 0; iy < 35 * 9;iy++)
{
for (int ix = 0; ix < 40; ix++)
{
float height = iy / 35.0;
if (height > 8)
{
dst.at<cv::Vec3b>(iy, ix)[0] = 118;
dst.at<cv::Vec3b>(iy, ix)[1] = 0;
dst.at<cv::Vec3b>(iy, ix)[2] = 0;
}
else if (height > 7)
{
dst.at<cv::Vec3b>(iy, ix)[0] = 166;
dst.at<cv::Vec3b>(iy, ix)[1] = 85;
dst.at<cv::Vec3b>(iy, ix)[2] = 84;
}
else if (height > 6)
{
dst.at<cv::Vec3b>(iy, ix)[0] = 209;
dst.at<cv::Vec3b>(iy, ix)[1] = 155;
dst.at<cv::Vec3b>(iy, ix)[2] = 144;
}
else if (height > 5)
{
dst.at<cv::Vec3b>(iy, ix)[0] = 229;
dst.at<cv::Vec3b>(iy, ix)[1] = 185;
dst.at<cv::Vec3b>(iy, ix)[2] = 174;
}
else if (height > 4)
{
dst.at<cv::Vec3b>(iy, ix)[0] = 163;
dst.at<cv::Vec3b>(iy, ix)[1] = 187;
dst.at<cv::Vec3b>(iy, ix)[2] = 248;
}
else if (height > 3)
{
dst.at<cv::Vec3b>(iy, ix)[0] = 133;
dst.at<cv::Vec3b>(iy, ix)[1] = 147;
dst.at<cv::Vec3b>(iy, ix)[2] = 226;
}
else if (height > 2)
{
dst.at<cv::Vec3b>(iy, ix)[0] = 105;
dst.at<cv::Vec3b>(iy, ix)[1] = 110;
dst.at<cv::Vec3b>(iy, ix)[2] = 200;
}
else if (height > 1)
{
dst.at<cv::Vec3b>(iy, ix)[0] = 46;
dst.at<cv::Vec3b>(iy, ix)[1] = 47;
dst.at<cv::Vec3b>(iy, ix)[2] = 170;
}
else
{
dst.at<cv::Vec3b>(iy, ix)[0] = 0;
dst.at<cv::Vec3b>(iy, ix)[1] = 0;
dst.at<cv::Vec3b>(iy, ix)[2] = 110;
}
}
}
cv::imwrite("tuli.jpg", dst);
}
cv::Mat mergeImage(cv::Mat image1)
{
cv::Mat image2 = cv::imread("C:\\Users\\Desktop\\图\\polish\\tuli4.png");
cv::Mat result, rotate1, rotate2;
int width = image2.cols;
int height = image1.rows;
cv::resize(image2, result, cv::Size(width, height));
//push_back 方法将图像2拷贝到图像1的最后一行
cv::rotate(image1, rotate1, cv::ROTATE_90_CLOCKWISE);
cv::rotate(result, rotate2, cv::ROTATE_90_CLOCKWISE);
cv::Mat img_merge;
img_merge.push_back(rotate1);
img_merge.push_back(rotate2);
cv::rotate(img_merge, result, cv::ROTATE_90_COUNTERCLOCKWISE);
return result;
}
C++ 画热力图
最新推荐文章于 2024-07-02 21:33:53 发布