将 uchar* 数据写入文件

Writing uchar* data to file

本文关键字:文件 数据 uchar      更新时间:2023-10-16

我正在使用OpenCV库,该库有一个名为Mat的类,表示一个矩阵,数据存储在数组中uchar* Mat::data。我想使用 C++ 将此数据写入二进制文件。

这是我的代码:

cv::Mat m(3, 3, CV_8UC1); // This basically creates a 3-by-3 matrix
std::fstream fileOut("file.bin", std::ios::out | std::ios::binary);
fileOut.write((char*)m.data, 9); // This should write 9 bytes of data

我收到错误消息:

invalid conversion from ‘uchar* {aka unsigned char*}’ to ‘std::basic_istream<char>::char_type* {aka char*}’

我应该采取哪些不同的做法?

这是

C++的非法转换

使用reinterpret_cast<const char*>(m.data)