C++ imwrite()何时失败

C++ imwrite()何时失败,c++,opencv,C++,Opencv,当像素值为CV_32FC1类型时,imwrite是否失败。我正在尝试在jpg文件中写入图像,但这不起作用-: make_response_mat(hr_lrt,response); if (!response.data) // Checks input { cout << "Could not open or find the image" <&l

当像素值为CV_32FC1类型时,imwrite是否失败。我正在尝试在jpg文件中写入图像,但这不起作用-:

        make_response_mat(hr_lrt,response);

        if (!response.data)                              // Checks input
        {
            cout << "Could not open or find the image" << std::endl;
            return -1;
        }
        while (!imwrite("response.jpg", response))
        {
            cout << "Hari" << response.size() << "\n" << response.at<float>(456954, 4);
        }
make_response_mat(hr_lrt,response);
如果(!response.data)//检查输入
{
cout仅8位(对于PNG、JPEG 2000和TIFF,则为16位无符号(CV_16U))单通道或3通道(具有“BGR”通道顺序)。您可以使用Mat::convertTo转换图像数据类型。
例如
matres;

response.convertTo(res,cv8uc*)


*请参阅图像频道(1、2、3)

使用只能写入8位或16位图像。如果可能,请提供更多代码和详细信息