Halcon 10 VS2013平臺 MFC C++.
最近老是出現程序崩潰,整的整個人都快崩潰了。
因爲,異常捕獲不穩定,大多數都捕獲不到,軟件就崩潰了。是連接相機的時候纔出現,加載圖片處理,正常情況下,沒有問題。
崩潰的情況有:
1,顯示圖片是,圖片是正常的,就崩潰了,如 disp_obj(outRegion, hWndHandle);;
2,閾值分割處理圖片,又是也會崩潰,如 edges_sub_pix(ImageInvert, &Edges, "canny", 3, 20, 40);
處理辦法:
Halcon的異常(HDevExpDefaultException)沒有被“安裝”。
Halcon中提供了安裝方法,static Handler InstallHHandler(Handler proc)。
可以定義自己程序的異常,在try catch前使用InstallHHandler安裝。
修改方法:
1,自定義異常:
void MyHalconExceptionHandler(const HException& except)
{
throw except;
},
2,在構造函數中,進行安裝:
HException::InstallHHandler(&MyHalconExceptionHandler);
3,調用try catch塊
try
{
tuple_max(hv_Length, &hv_Max);
}
catch(HalconCpp::HException &except)
{
//do something
}