0x00007FFB8436A388 處(位于190124_SpecialCarDetection_MulObjMulScaleTrack2.exe 中)有未經(jīng)處理的異常: Microsoft C++ 異常: cv::Exception,位于內(nèi)存位置 0x0000005CEA51C9B0 處檐迟。
由于初學者對openCV函數(shù)使用不熟悉,可能只知道函數(shù)的功能双妨,卻沒有養(yǎng)成先查看函數(shù)使用詳情的習慣汁蝶,導致以上錯誤在初學者使用openCV函數(shù)過程中很常見轻猖,如果出現(xiàn)類似以上與“異程河”相關的錯誤缀壤,第一步先檢查所用函數(shù)的定義(函數(shù)名稱右鍵->函數(shù)定義)猪杭,以排除函數(shù)使用方式錯誤造成的異常餐塘。
例1:
void Canny( InputArray image, OutputArray edges,
double threshold1, double threshold2,
int apertureSize = 3, bool L2gradient = false );
//image:8位輸入圖像(8bit表示每個通道的每個像素占用8bit,取值是0-255,并沒有限定通道數(shù)).
//edges:8位單通道圖像皂吮,高寬尺寸必須和第一個參數(shù)image一致戒傻。
//threshold1:Canny算法中的閾值1
// threshold2 :Canny算法中的閾值2
//apertureSize:中間過程計算梯度時所用的Sobel算法的尺寸
//L2gradient:取值為true或false,計算梯度幅值的時候是用更為精確的方程:"magnitude=sqrt(Gx^2+Gy^2)",還是用估計方程:"magnitude=|Gx|+|Gy|"
以上是Canny函數(shù)的用法蜂筹,若參數(shù)apertureSize設置為0需纳,就會提醒異常出現(xiàn)。因為計算梯度時所用的Sobel算法的尺寸為0的話沒有任何意義艺挪。