在scikit-image中打开load_sift的图像文件

时间:2016-12-14 05:47:47

标签: python image-processing scikit-image

The documentation for load_sift

from skimage import io img = open('g.png') rv = io.load_sift(img)

此代码无效。似乎这不是我应该打开图像文件的方式。我无法理解文档。

1 个答案:

答案 0 :(得分:3)

load_sift例程不适用于numpy数组或图像文件。在记录f参数时,它声明:

Input file generated by the feature detectors from
http://people.cs.ubc.ca/~lowe/keypoints/ or
http://www.vision.ee.ethz.ch/~surf/

即,这些是特殊格式的文件,其SIFT功能已由这些URL上的二进制文件提取。我们不计算scikit-image中SIFT特征的原因是因为这些例程受到专利保护,因此您必须使用外部实用程序或库来计算它们。

在scikit-image中,您可以按如下方式读取图像:

from skimage import io
image = io.imread('g.png')

这将返回一个numpy数组,您可以按照自己的方式操作。要另外提取SIFT功能:

  1. 下载外部二进制文件
  2. 在图片上运行
  3. 使用load_sift
  4. 加载生成的文件

    由于文档字符串存在不确定性,我有made a patch来澄清需要外部工具。