C++ Halcon識別條形碼示例


//初始化模型
CreateBarCodeModel(HTuple(), HTuple(), &hv_BarCodeHandle);
//設置最小對象面積大小
SetBarCodeParam(hv_BarCodeHandle, "element_size_min", 3200);
//設置校驗開啟
SetBarCodeParam(hv_BarCodeHandle, "check_char", "present");
//設置只識別一個
SetBarCodeParam(hv_BarCodeHandle, "stop_after_result_num", 1);
// Local iconic variables
HObject  ho_Image, ho_SymbolRegions;

// Local control variables
HTuple  hv_DecodedDataStrings;
HTuple code_Types;

code_Types[0] = "Code 128";
code_Types[1] = "Code 39";
FindBarCode(ho_Image, &ho_SymbolRegions, hv_BarCodeHandle, code_Types, &hv_DecodedDataStrings);
long codeLen = hv_DecodedDataStrings.Length();
    if (codeLen >0) {
        for (int i = 0;i < codeLen;i++) {
            HString str = hv_DecodedDataStrings[i].S();
            char* code = const_cast<char*>(str.Text());
            //正則校驗
            std::regex code_reg("^[1-9]\\d{10,14}$");
            bool ret = std::regex_match(code, code_reg);
            if (ret) {

                qDebug(u8"%s", code);

                break;
            }
        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM