public Int32 Process(MvsImageParam image, bool isTrain, ref MvCodeInfo[] codes) { Int32 retVal = 0; // 构造检测入参 using (MvProcessParam pp = new MvProcessParam()) { pp.Image = image; pp.TrainFlag = isTrain; // 申明检测出差 MvSBcProcessResult pr = new MvSBcProcessResult(); pr.Initialization(); MvSBcProcessParam tmp = pp.Param; //log.InfoFormat("pp.Param.Image: {0}", pp.Param.Image); // 执行检测 retVal = Process(ref tmp, ref pr); // 存储执行结构 MvProcessResult result = new MvProcessResult(); result.Result = pr; // 输出一维码信息,并返回结果 codes = result.CodeInfo; } return(retVal); }
/// <summary> /// 执行算法检测 /// </summary> /// <param name="param">检测参数</param> /// <param name="result">检测结果</param> /// <returns></returns> public Int32 Process(ref MvSBcProcessParam param, ref MvSBcProcessResult result) { if (_hHandle == IntPtr.Zero) { return(0); } Int32 retVal = 0; try { //log.InfoFormat("执行算法bcProcess前 BcProcessParam param.DoTrainFlag: {0} param.Image: {1}", retVal, param.DoTrainFlag, param.Image); // 执行算法检测 retVal = bcProcess(_hHandle, ref param, ref result); //log.InfoFormat("执行算法bcProcess后 返回值: {0} BcProcessResult result.Num: {1} result.Code: {2}", retVal,result.Num,result.Code); } catch (Exception e) { Console.WriteLine("Exception caught: " + e.Message + "Error"); } return(retVal); }
private static extern int bcProcess(IntPtr hHandle, ref MvSBcProcessParam pParam, ref MvSBcProcessResult pResult);