当使用imencode()函数对从我的笔记本电脑相机中获取的帧进行编码时,我遇到了一个问题。我正在使用Visual Studio 2015与opencv 3.0。这是代码:
cap >> frame;
if(frame.size().width==0) continue;
resize(frame, send, Size(frame.size().width, frame.size().height), 0, 0, INTER_LINEAR);
vector < int > compression_params;
compression_params.push_back(CV_IMWRITE_JPEG_QUALITY);
compression_params.push_back(jpegqual);
vector < uchar > encoded;
imencode(".jpg", send, encoded, compression_params);
imshow("send", send);
当代码进入imencode()函数时,编码的向量的大小变为无意义的数字,例如, size = -2659404154992(以调试模式显示)。由于我无法访问该函数的实现,我该如何修复它?
非常感谢。该代码旨在对帧进行编码并将其发送到另一台计算机。
答案 0 :(得分:0)
好的,好的,多亏了@Logman,我尝试使用Release模式,它有效。很抱歉提出这么简单的问题,但我对它感到非常沮丧,因为我正在考虑opencv的版本和项目的各种设置。