使用opencv2.4.13的sift、surf、orb方法时,输入图像的大小太大会导致奇怪的出错:无效参数输入一个将无效参数视为严重错误的函数。一直找不到是什么原因引起的,如果有人知道请务必告诉我。
12-12更新
不是输入图像的大小问题,也不是格式问题,
还以为opencv2.4.13本身有问题,下了opencv2.4.13.6之后还是报这个错误,经过一系列排查,突然想起以前不知道在哪个博客看到过说这个报错是由于内存访问冲突引起的,这时想起了之前由于opencv配置的问题把opencv的dll文件都放到windows下的system32文件夹下面,然后又把opencv存放dll文件的bin文件夹加入了系统环境变量,从而导致了同时访问两边的文件导致冲突,把system32文件夹下面所有的opencv的dll文件都删除之后就不报错了。
但是没发现这个bug之前两张一模一样的图片进行匹配却不会报这个错误(或者是两张相似度比较高的图片进行匹配),现在还不懂原因是什么。
也可能是2413版本确实有问题,可能是因为优先找system32里的文件,然而里面却是2413版而非24136版的,所以导致我重新配了24136版本也还是报错,不过现在也懒得管这些了,作业实验课设太多要求又一大堆做的我实在脑阔疼。
其他包如果也出现这个报错可能也有这种环境变量冲突的情况,发出来给大家提个醒。