void writeRGB888ToJPEG(const unsigned char* imageData, const std::string& filename) { cv::Mat rgbImage(HEIGHT, WIDTH, CV_8UC3, (unsigned char*)imageData); // 将 RGB_888 格式转换为 BGR 格式 cv::cvtColor(rgbImage, rgbImage, cv::COLOR_RGB2BGR); // 设置 JPEG 压缩参数 std::vector<int> compression_params; compression_params.push_back(cv::IMWRITE_JPEG_QUALITY); compression_params.push_back(90); // 压缩质量为 90% // 写入 JPEG 文件 cv::imwrite(filename, rgbImage, compression_params); }中将PIXEL_FORMAT_RGB_888格式写入图片颜色空间是否正确
时间: 2024-04-15 12:24:44 浏览: 179
是的,上述代码将名为imageData的RGB_888格式图像数据写入了JPEG文件中。首先,使用cv::Mat构造函数创建了一个名为rgbImage的Mat对象,它的尺寸为HEIGHT×WIDTH,并且每个像素由3个8位无符号整数组成。然后,使用cv::cvtColor函数将RGB格式转换为BGR格式,因为OpenCV默认使用BGR颜色空间。最后,使用cv::imwrite函数将转换后的图像以90%的压缩质量写入名为filename的JPEG文件中。因此,代码中将PIXEL_FORMAT_RGB_888格式写入图片颜色空间是正确的。
阅读全文
相关推荐


















