使用imencode()时访问冲突读取位置

时间:2017-03-02 04:49:05

标签: c++ opencv visual-studio-2015

当使用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(以调试模式显示)。由于我无法访问该函数的实现,我该如何修复它?

非常感谢。该代码旨在对帧进行编码并将其发送到另一台计算机。

1 个答案:

答案 0 :(得分:0)

好的,好的,多亏了@Logman,我尝试使用Release模式,它有效。很抱歉提出这么简单的问题,但我对它感到非常沮丧,因为我正在考虑opencv的版本和项目的各种设置。