1.彩色图像
// 示例代码
cv::Size smallSize;
smallSize.height = h;
smallSize.width = w;
cv::Mat Img = cv::Mat(smallSize, CV_8UC3, cv::Scalar(0, 0, 0));// 创建三通道黑色图像。
cv::Mat GreyImg = cv::Mat(smallSize, CV_8U, cv::Scalar(0));// 创建单通道黑色图像。
...
...
...
unsigned char grey = static_cast<unsigned char>(val));
// (h_idx, w_idx)为图像的下标,(行,列),[0],[1],[2]分别表示蓝(B)、绿(B)红(R)
/*Img.at<cv::Vec3b>(h_idx, w_idx)[0] = grey;
Img.at<cv::Vec3b>(h_idx, w_idx)[1] = grey;
Img.at<cv::Vec3b>(h_idx, w_idx)[2] = grey;*/
Img.at<cv::Vec3b>(h_idx, w_idx) = cv::Vec3b(grey, grey, grey);
GreyImg.at<uchar>(h_idx, w_idx) = grey;
...
...
...
// 保存图像
cv::imwrite("mic.jpg", Img);
cv::imwrite("amic.jpg", GreyImg);