摘要:在Python计算机视觉编程一书中,SIFT(尺度不变特征变换)部分,编写代码时,会遇到empire.sift 找不到的问题,下面介绍它的解决方法:

首先,明确它是通过调用外部已经写好的一段代码来运行,就是vlfeat库中的sift.exe。

1.下载PCV,安装配置。下载地址为:https://github.com/jesolem/PCV,下载后使用dos命令进入文件夹,输入:python setup.py install.即可安装到Python目录中。安装完成后,推荐把里面有个大写的PCV文件夹复制保存在你的python环境第三方库的文件夹下,就是那个…\Anaconda\Lib\site-packages(这里针对使用Anaconda环境的),方便管理。
Python计算机视觉编程中 empire.sift 找不到解决办法

2.下载vlfeat 0.9.20 (必须是这个版本,官网最新是0.9.21试了不行),保存到你想保存的位置。

3.配置PCV,这里面有一个sift.py文件,位置大致是:…\Anaconda\Lib\site-packages\PCV\localdescriptors
Python计算机视觉编程中 empire.sift 找不到解决办法
修改里面的cmmd路径,目的就是调用vlfeat中的sift.exe
Python计算机视觉编程中 empire.sift 找不到解决办法
这里注意事项:
(1)路径字符串前加 r ;
(2)sift.exe后面有一个空格

到这一步可能有的人能够运行,但有的人仍然不能运行,不能运行的大部分是因为缺少了一个 vcomp100.dll的文件,看网上有的说这个文件需要根据系统是64还是32位放在不同的地方。64位系统放在 C:\Windows\SysWOW64中,32位放在C:\Windows\System32中。但是我的64位系统那个文件夹中已有那个文件但仍然报错,就把这个文件放在了C:\Windows\System32试了下就不报错了,所以最好这个文件在两个文件夹下都放一份。到这里基本问题应该都解决了。

结果展示

python代码图示:
1.
Python计算机视觉编程中 empire.sift 找不到解决办法
Python计算机视觉编程中 empire.sift 找不到解决办法
这里通过使用PCV中的sift.py文件调用vlfeat中的sift.exe执行(我的图片名称是自定义的,与书中不同)。

2.当然也可以有第二种方法,就是自己手写书中的sift里面的函数代码,如图:
Python计算机视觉编程中 empire.sift 找不到解决办法
cmmd处与上面同理做修改。这样,就不需要引用PCV中的sift了,直接调用sift.exe。
Python计算机视觉编程中 empire.sift 找不到解决办法
Python计算机视觉编程中 empire.sift 找不到解决办法
在process_image等函数前不需要再加sift前缀。

相关文章:

  • 2021-11-18
  • 2022-01-01
  • 2021-10-15
  • 2021-11-15
  • 2021-07-17
  • 2021-10-02
  • 2021-04-01
  • 2021-04-22
猜你喜欢
  • 2022-01-19
  • 2021-04-18
  • 2021-05-18
  • 2021-12-18
  • 2021-08-01
  • 2022-01-08
相关资源
相似解决方案