<分区>
模组 - 请关闭此问题。我发现了代码中的错误。很遗憾,我无法删除它。
下面两个代码片段有什么区别吗? 也许关于填充?因为关于第一个(静态分配),我得到了奇怪的图像。第二个没问题。
产生扭曲的图像(我猜缺少蓝色并且像素发生偏移)
function1(char *image) {
char image_data_[image_info_.imgSize];
memcpy(image_data_, image, image_info_.imgSize); // 144000 bytes
cv::Mat color_image_opencv(image_info_.height, image_info_.width, CV_8UC3, image_data_);
cv::imwrite("image.png", color_image_opencv);
}
和(这行得通)
function2(char *image) {
char *image_data_ = NULL;
image_data_ = reinterpret_cast<char*>(malloc(image_info_.imgSize));
memcpy(image_data_, image, image_info_.imgSize);
cv::Mat color_image_opencv(image_info_.height, image_info_.width, CV_8UC3, image_data_);
cv::imwrite("image.png", color_image_opencv);
}