以下是用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()函数将图像保存到文件中。

用c++将float数组转成cvmat并保存rgb图像

原文地址: https://www.cveoy.top/t/topic/bUOi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录