Bag of words算法实现过程中出现错误及解决方案
- 出现的问题
-
- IndexError: list index out of range
- OSError:x.sift not found
- sqlite3.OperationalError: table imlist already exists
- 第45行(H,inliers = homography.H_from_ransac(fp[:,ind],tp[:,ind2],model,match_theshold=4))报错
- ValueError: did not meet fit acceptance criteria
- TypeError:%d format: a number is required,not NoneType
- TypeError:%d format: a number is required,not str
- 解决方案(一招全部解决)
出现的问题
IndexError: list index out of range
列表超限,图片问题,或者是把这两行改成0和5
OSError:x.sift not found
sift路径问题,错了就多改几次,路径中文不行就改英文
sqlite3.OperationalError: table imlist already exists
把这个删了,再运行“2.py”这个文件
第45行(H,inliers = homography.H_from_ransac(fp[:,ind],tp[:,ind2],model,match_theshold=4))报错
代码改为
try:
H,inliers = homography.H_from_ransac(fp[:,ind],tp[:,ind2],model,match_theshold=4)
except:
inliers = []
ValueError: did not meet fit acceptance criteria
见下文一招解决
TypeError:%d format: a number is required,not NoneType
见下文一招解决
TypeError:%d format: a number is required,not str
见下文一招解决
解决方案(一招全部解决)
1.选择以下一种方式下载文件:
①直接找我要
②点击这里:百度云,提取码2333
③点击这里:CSDN下载
解压后文件夹长这样
2.右击sift.exe文件,点击属性
3.复制这一串地址
4.用记事本打开这个sift.py文件(不是上面那个,注意看下图)
5.选中地址的前面部分,粘贴,保存后关闭文件
6.接着按文件里面的1、2、3顺序运行就可以了