| | |
| | | strTemp.Format(_T("Notch\\Notch_%d_Defect_ProcBinImage"), nNotchIdx); |
| | | SaveDebugImage(emDim, stFrame, pProcBinImage, strTemp); |
| | | |
| | | CvSeq* pContours = nullptr; |
| | | CvMemStorage* pStorage = cvCreateMemStorage(0); |
| | | cvFindContours(pProcBinImage, pStorage, &pContours, sizeof(CvContour), CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE); |
| | | for (CvSeq* c = pContours; c != nullptr; c = c->h_next) { |
| | | double dLength = cvArcLength(c); |
| | | if (dLength < 2000) { |
| | | continue; |
| | | } |
| | | |
| | | if (std::abs(dLength - 7000) > 1000) { |
| | | g_pLog->DisplayMessage(_T("[WARN] Notch defect contour length deviates significantly from expected: %f"), dLength); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | #if MINI_LED == 0 |
| | | // 掘齡툇郞늴鑒,렝岺법댕돔鈴봬珂샀코닸狂痙 |
| | | int nDilateCount = pNotchParam->m_nNotch_Inspect_Defect_dilate; |