2017-03-02 70 views
0

使用imencode()函數對從我的筆記本電腦攝像頭獲取的幀進行編碼時遇到了問題。我正在使用Visual Studio 2015與opencv 3.0。下面是代碼:訪問衝突使用imencode時的讀取位置()

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()函數中,載體編碼的尺寸改變到一無意義的數字,例如大小= -2659404154992(以調試模式顯示)。由於我無法訪問函數的實現,我該如何解決它?

非常感謝。該代碼旨在對幀進行編碼並將其發送到另一臺計算機。

+0

請檢查您的編譯器是否設置爲Debug而不是Release模式。 – Logman

+0

@Logman它是在調試模式,如果你的意思是我是否在調試或發佈中運行程序。 – Allen

回答

0

好的,很好,感謝@Logman,我試圖使用發佈模式,它的工作。對不起,提出這樣一個簡單的問題,但我很沮喪,因爲我正在考慮opencv的版本和項目的各種設置。