代碼如下:
這是一個回圈從某個檔案夾中讀取所有的圖片并逐個圖片分析其Dense SIFT特征并統一保存起來的操作,這里在運行到Ptr<FeatureDetector> fdetector(new DenseFeatureDetector(initFeatureScale,featureScaleLevels,featureScaleMul,initXyStep,initImgBound,false));這個陳述句(及之后注釋的陳述句)之后跳出回圈后會給出_CtrIsValidHeapPointer(pUserData)問題,嘗試用release運行仍然有問題,請問應該如何解決?是否是opencv或者vc自帶的bug?
for (count = 0;count < imgNum; count++){
Mat img = imread(wkDir+namesNE[count]+".png");
height = img.rows;
width = img.cols;
//SiftFeatureDetector siftdtc;
float initFeatureScale = 1.5f,featureScaleMul = 1.5f;
int featureScaleLevels = 8, initXyStep = 2, initImgBound = 20;
initModule_nonfree();
Ptr<FeatureDetector> fdetector(new DenseFeatureDetector(
initFeatureScale,featureScaleLevels,featureScaleMul,initXyStep,initImgBound,false));
//Ptr<DescriptorExtractor> dextractor = DescriptorExtractor::create( "SIFT" );
//if( fdetector->empty() || dextractor->empty()){
// cout << "featureDetector or descExtractor was not created" << endl;
//return Mat ();
//}
/*vector<KeyPoint> keypoints;
fdetector->detect( img, keypoints );
Mat descriptors;
dextractor->compute(img, keypoints, descriptors);
combineDetector.push_back(descriptors);*/
}
uj5u.com熱心網友回復:
看一下opencv 的版本,感覺應該是代碼問題你貼一下出錯代碼的位置,和呼叫堆疊
uj5u.com熱心網友回復:
http://download.csdn.net/index.php/mobile/source/detail/pww71/9513746uj5u.com熱心網友回復:
2L出錯代碼位置在代碼的最后中括號結束后,所有計算都已經計算完畢,查看網上代碼貌似是釋放堆疊出現訪問沖突問題,但是同樣的代碼放到別人的VC2013上(OPENCV 2.49)同樣也是沒有問題的轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/145128.html
標籤:圖形處理/算法
上一篇:opencv2.0撰寫的代碼怎么修改才能在opencv1.0運行
下一篇:求助關于串列視圖資料型別轉換的!
