python OSError: im1.sift not found.解决方法

OSError: im1.sift not found.

报错

在这里插入图片描述

原因分析

生成的.sift保存在了tmp.pgm中,并未保存到im1.sift中,所以提示文件不存在。

解决方法

  • 下载vlfeat-0.9.20-bin.tar.gz(链接:vlfeat );
  • vlfeat-0.9.20/bin/win64下的sift.exe、vl.dll和vl.lib三个文件复制到你的项目文件夹下;
  • 进入D:\Program Files (x86)\Anaconda3\Lib\site-packages\PCV\localdescriptors下,找到sift.py文件,将其中cmmd = str(r"sift "+imagename+" --output="+resultname+ " "+params) 换为cmmd = str(r"H:/RT/test/sift.exe "+imagename+" --output="+resultname+ " "+params)
    注: 前加r,后空格。

你以为这样就结束了?
不存在!
新的问题又来了!

提示vcomp100.dll文件不存在

解决方法

VCOMP100.DLL是vs2010注册运行时库里的一个文件。因此把vs2010注册运行时库就能解决这个问题了。
vs2010注册运行时库的下载地址如下:
Microsoft Visual C++ 2010 可再发行组件包(x64)
Microsoft Visual C++ 2010 可再发行组件包(x86)
注: 如果下载一个问题没有解决,那么就x86、x64都下载下来;99%的.dll文件丢失都可以使用这个方法。

参考链接:
https://blog.csdn.net/weixin_42578378/article/details/88617349
https://blog.csdn.net/clever101/article/details/95063268

你可能感兴趣的:(python)