初学,为了联系代码,写了个小程序,很小很小。就是遍历目录,将目录中的.jpg图片拼接在一起,但是程序一运行到imshow函数就中断退出,调试了半天,发现图片没有正常读取,所以imshow报错了。发现了问题后,又不知道怎么解决。正当郁闷时,想到opencv是不是配置出现了问题,于是在属性的链接里,把所有的链接器-》输入-》附加依赖项中的lib文件中,没有d的都去掉。结果瞬间程序运行顺畅。我靠,opencv配置太麻烦了,每次都需要重新配置,因为建立的是win32程序,我的机器是64位,每次修改64位时都需要重新配置一次,配置有偏差的话程序就运行报错。崩溃!也算积累经验了。
紧接着stitcher又出现了问题。运行后好半天都不懂,于是终止了程序。把文件夹下的图片减少一些。本以为没问题了,结果程序运行到stitcher就报错退出。反复调试还是这个问题。status显示ERR_NEED_MORE_IMAGES。难道是图片少了?加几张,也不对。反复的调呀,反复的调。其实都没有问题,可能是图片或者程序强制退出后,需要一段时间释放资源之类的东西,在这段时间内,有些资源是被占用的,运行程序就报错。退出VS2010,重新编译一次,程序运行就正常了。这么个小程序,连写带调用了四个小时。情何以堪呀。(ps:还发现一个问题,文件夹下如果还有文件夹可能会报错的。)
总结:stitcher函数使用方式建立一个imgs向量,将读取的mat图片用push_back压到imgs中。然后就是stitcher自己去拼接了。但是拼接的速度不敢恭维,两张图片大概需要7-8秒的时