简单架构:采集库dll、检测算法dll、项目程序exe,框架库dll
一般项目exe通过调用各种封装的dll来完成工作。视觉项目exe调用采集库dll、检测算法dll就可以了,有一定积累后凝练出框架库dll(日志、队列、线程池等必不可少的部分封装)
它们之间通过“接口函数+数据”来配合。
针对采集dll:
- IGrabber.h 里放接口函数,如开始采集、停止采集、set参数、get参数等
- DataIGrabber.h 里放数据,如struct(含图像指针等)、enum等
针对检测算法dll:
- ICheck.h 里放接口函数,如read参数、write参数、Check(输入,结果输出)等
- DataICheck.h 里放数据,如struct(Check要使用的输入、输出等)
当然,数据也可以直接放入接口函数头文件,这样只需一个头文件即可。
针对数据,当引入的越来越多会造成冲突,建议加上namespace来区域。
项目程序,引入上述头文件,就可以开发调用。