用c++将float数组转成cvmat并保存rgb图像
以下是用c++将float数组转成cv::mat并保存rgb图像的示例代码:
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
// 创建一个4x4的float数组
float arr[16] = {
0.1, 0.2, 0.3, 0.4,
0.5, 0.6, 0.7, 0.8,
0.9, 1.0, 1.1, 1.2,
1.3, 1.4, 1.5, 1.6
};
// 创建一个3通道的Mat对象
Mat img(4, 4, CV_32FC3, arr);
// 将float类型转换为8位无符号整型
img.convertTo(img, CV_8UC3, 255.0);
// 保存RGB图像
imwrite("output.png", img);
return 0;
}
在上面的示例中,我们首先创建了一个4x4的float数组,并将其传递给cv::Mat构造函数,创建了一个3通道的Mat对象。然后,我们使用cv::Mat的convertTo()函数将float类型转换为8位无符号整型,并将其保存为RGB图像。最后,我们使用imwrite()函数将图像保存到文件中。
原文地址: https://www.cveoy.top/t/topic/bUOi 著作权归作者所有。请勿转载和采集!