在工业机器视觉上,常见的图像处理库有opencv、halcon、visionpro、sherlcok等。其中visionpro和sherlcok是拖拽式编程,方便用户开发视觉项目。但对于opencv 和halcon则,还是基于函数or 算子编程,对用户有较高的编程语言能力。
现在市面上也不少基于halcon和opencv的拖拽式软件,这样就极大提高项目的开发效率。
一般思路是这样的,通过创建一个抽象类来作为所有工具的基类,所有工具都去继承这个抽象类。这些工具可以是,模板匹配、找圆、找线、找交点、Blob工具等。抽象类里面有个Run方法。
这些工具可以采用List把他们装起来,到时执行就可以直接遍历,采用Item.Run()。这样就可以把List里面的工具全部执行一遍。
以下为演示效果:
工具抽象基类:VisionToolBase
public abstract class VisionToolBase
{
public abstract string Name { set; get; }
public abstract bool Run();
public string ResultInfo;
}
找线工具:继承VisionToolBase
public class FindLineTool:VisionToo