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

C++ 使用imencode()时访问冲突读取位置,c++,opencv,visual-studio-2015,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 > c

我在使用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);
cap>>框架;
如果(frame.size().width==0)继续;
调整大小(帧,发送,大小(帧.大小().宽度,帧.大小().高度),0,0,内部线性);
向量压缩参数;
压缩参数。推回(CV\u IMWRITE\u JPEG\u质量);
压缩参数向后推(jpegqual);
向量编码;
imencode(“.jpg”,发送、编码、压缩参数);
imshow(“发送”,发送);
当代码继续执行imencode()函数时,矢量编码的大小将更改为无意义的数字,例如大小=-2659404154992(在调试模式下显示)。由于我无法访问函数的实现,如何修复它


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

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

好的,很好,多亏了@Logman,我试着使用释放模式,结果成功了。很抱歉提出这么简单的问题,但我为此感到非常沮丧,因为我在考虑opencv的版本和项目的各种设置

请检查您的编译器是否设置为调试而不是发布模式。@Logman它处于调试模式,如果您的意思是我是在调试还是发布模式下运行程序。请检查您的编译器是否设置为调试而不是发布模式。@Logman它处于调试模式,如果您的意思是我是在调试还是发布模式下运行程序。