海康VM平台API开发:
优点:
1.效率高,直接将VM平台上的控件使用的自己的应用中即可。跟在VM中操作差不多。
2.有C#脚本可以支持,还是有一定的灵活性。
缺点:
1.由于使用的VM平台控件都是C#开发的,如果开发采用C++,那就显得有点脱裤子放屁了,来回调用。如果是C#就还好。最愚蠢的事情就是在C++里面用C#,C#里面用C++。那酸爽只有用了才知道了。
2.不够灵活,虽然可以组很多的流程,并且各流程也可以相互通信。也可以写脚本,但当在种类比较繁杂的视觉应用中,有点显得力不从心。VM平台比较适合种类单一,动作固定的场景。像类似视觉检测不同的零件时,真的是一言难尽。
基于视觉算子API开发:
优点:
1.速度快,C++开发的算子,再用C++的界面,速度确实要比C#的VM平台快不少,之前用VM平台API开发应用,竟然一个程序在后台运行了200多个线程。属实有点慢啊!后来用纯视觉算子api开发,那线程也就10-20个足够,自己想怎么用都可以。可能原因是VM将很多功能集成到了一起,同时连带着很多根本不需要的功能也在里面了。所以能干出200个线程在运行。
2.只需要一个图片渲染控件即可,并且这个控件是C++开发的,这个执行速度要比用VM里面的渲染控件快多了。
3.完全自由支配。所有流程自己掌控,不用这个流程套那个流程。
缺点:
1.开发效率慢,参数配置界面,结果显示界面都得自己去适配。
个人建议:如果是C++开发,并且喜欢自己掌控的,最好用视觉算子API开发。如果产品单一,最好直接用VM平台,而不要再去调用VM平台控件的方式,有点多此一举,因为VM平台本身支持C#脚本。基本能解决问题了。也支持各种通信方式。基于海康VM平台API开发的方式,是最差的选择。想要自由,不如纯算子的方式,想要快,又不如完全基于VM平台的方式。