图像视觉的调试
一般的模式,也是目前我的模式是这样的
接触一个任务->划分类型->halcon预处理一下,也可以出demo(图片,程序)->opencv(或相关的东西)->封装成为dll文件->发布
所以,核心的东西还是opencv和c++,如何调试(包括一些编程程序的技巧),其实也是不断摸索出来的,这里进行一些整理。
1、框架文件,可以配置成为基础的
就是说那种运行opencv的框架,如果不弄好放在那里,每次都要来配置,会很麻烦;
2、调试算法,还是要console中进行调试
这里想比对的就是dll,因为dll里面哟很多不可控制的地方,最后你会发现,出现的问题不一定是算法问题;console中调试成功了,再到dll中调试,还可能会有新的问题,如此迭代,不要搞乱;
3、由于opencv不向halcon那样能够有中间图像,需要自己生成中间图像。首先定义
#define
ISDEBUG
false
这样吧所有的调试都放到这个里面,在最后产出的时候可以直接去掉调试信息(而且dll是不产出信息的)
一般每一个过程函数都要有打印(printf),要有文件生成的,有过程图片(最好放到不同的文件夹里面,也好管理)
4、dll文件的编写不仅要注意规定的模式(也是不断复用),而且要注意不能够生成大数组,还有边缘控制,这个方面现在不是很强;
5、dll文件调试的方法,这个是杀手级别的;
6、最后,文件的格式,冗余文件的去除,文件的版本控制。清晰才能高效。
此外,设计模式?应该也有用,现在研究还不是很清楚。