本文主要是介绍WPF 使用 VisionMaster 算法平台SDK开发,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
海康的visionmaster使用方便,开发效率高,但比较复杂的应用场景还是用调用SDK方式来实现,官方有WinForm的DEMO,但没找到WPF的,就免费帮海康写个教程吧,海康请打钱。
长这样:
这个demo开源在我的gitee:
opencvsharpvisionmaster: opencvsharp 和 visionmaster 的混合编程示例
顺便发个求职广告,我是做非标设备的,PLC上位机什么的都会,有相关工作信息的小伙伴帮我介绍一下,微信17551023102
大概流程:
1、开发时需要引用一些dll:
方案相关
VM.PlatformSDKCS.dll
VM.Core.dll
流程相关:
ImageSourceModuleCs.dll
IMVS2dBcrModuCs.dll
控件相关:
VMControls.WPF.Release.dll
VMControls.Interface.dll
Apps.ColorFun.dll
Apps.Style.dll
Microsoft.Expression.Interactions.dll
2、加载方案
VmSolution.Import(SolPath, ""); // 加载方案
3、传入图像
ImageSourceModuleTool imageModu = (ImageSourceModuleTool)VmSolution.Instance["流程1.图像源1"];
Src.GetGray(out Mat gray);
gray.GetArray(out byte[] imgdata);
ImageBaseData imageBaseData = new(imgdata, (uint)imgdata.Length, Src.Width, Src.Height, 1);
imageModu.SetImageData(imageBaseData); // SDK模式设置图像路径
4、执行方案
VmSolution.Instance.SyncRun(); // 方案运行一次
int wait = 0;while (VmSolution.Instance.IsRunning == true) //等待完成
{await System.Threading.Tasks.Task.Delay(10);wait++;if (wait > 100) return;
}
5、获取结果
IMVS2dBcrModuTool qrtool = (IMVS2dBcrModuTool)VmSolution.Instance["流程1.二维码识别1"];
var qrnum = qrtool.ModuResult.CodeNum;
var codes = qrtool.ModuResult.CodeStr;
var boxes = qrtool.ModuResult.Rect;for (int i = 0; i < qrnum; i++)
{var code = codes[i];var point = new Point(boxes[i].CenterPoint.X, boxes[i].CenterPoint.Y);Cv2.PutText(Dst, code, point, HersheyFonts.HersheyDuplex, 1, Scalar.Lime, 3);
}
这篇关于WPF 使用 VisionMaster 算法平台SDK开发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!