我试图编码垫CV_32FC1图像使用Base64,工艺作品把它在互联网上,但OpenCV的格式不正确编码。 例:
vector<unsigned char> buffer;
vector<int> compression_params;
compression_params.push_back(CV_IMWRITE_PXM_BINARY);
compression_params.push_back(0);
cv::imencode(".pgm", desc, buffer, compression_params);
printf("%s", &buffer[0]);
这产生以下输出:
P2
64 15
255
0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
etc..
根据压缩参数和第一参数(P2)不应当被编码为二进制格式,它应该是ASCII。 (资源)
这本身是没有问题的,但是当我改变compression_params.push_back(0)
至compression_params.push_back(1)
我得到这样的输出(无图像数据):
P5
64 15
255
我使用iOS上的OpenCV 2.4.4,我怎么能解决这个问题或可替代我怎么能发送垫的好方法,而不会丢失数据?