以下为本人被Python版本更迭痛苦折磨,烦躁不利索的第三方库包引入,反复尝试后个人认为最舒服的做法。
1.安装PCV
- 下载PCV包:https://codeload.github.com/Li-Shu14/PCV/zip/master
- 打开Anaconda3的prompt窗口,切换到下载好的PCV包所在的路径下
cd "C:\ai_class\数字图像处理\CV\实验作业\实验作业"
- 安装
pip install PCV-master.zip
(如果不是base环境,记得先激活指定环境)
(不是压缩包,可以随时编辑,可以在对应文件中更改由于版本问题出现的报错)
2.为生成.sift文件,需下载vlfeat-0.9.20-bin.tar.gz(一定要是这个版本)
- 下载地址:https://www.vlfeat.org/download/
- vlfeat-0.9.20/bin/win64下的sift.exe、vl.dll和vl.lib三个文件复制到sift.py所在的文件夹下
- 更改路径,将sift.py中的cmmd = str(r"sift “+imagename+” --output="+resultname+ " “+params) 换为cmmd = str(r"D:\Progra~1\anaconda3\Lib\site-packages\PCV\localdescriptors\sift.exe “+imagename+” --output=”+resultname+ " "+params) ;
注: 绝对路径,前加r,.exe后有一个空格。如果路径中有空格,例:D:\Program Files省略为上式。
参考:https://blog.csdn.net/qq_50253976/article/details/113544433
可能错误:生成的sift文件为空,即特征提取为空。
UserWarning: loadtxt: Empty input file: “out_sift.1.txt” f = loadtxt(filename)
IndexError: too many indices for array: array is 1-dinmensional,but 2 were indexed
原因:部分电脑更换版本后可能会出现vcomp100.dll文件找不到问题,可下载对应的dll文件,下载链接https://cn.dll-files.com/vcomp100.dll.html,64位系统对应64位,下载后放入C:\Windows\SysWOW64和C:\Windows\System32,有则替换,亲测可运行成功
3.安装pydot前需要做好一些准备
见 https://blog.csdn.net/DreamWendy/article/details/123848230
文章结尾部分
本文资料来源网络,侵权即删
主要参考:https://blog.csdn.net/DreamWendy/article/details/123848230