首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Windows上构建pHash库

在Windows上构建pHash库
EN

Stack Overflow用户
提问于 2012-04-01 13:32:10
回答 1查看 1.8K关注 0票数 1

我一直试图在我的windows机器上构建pHash(http://phash.org/),但一直没有任何进展。我是一个编程桌面应用程序的新手。我将通过ctype将pHash库与Python一起使用。有人能发布一下构建pHash的步骤吗?

我尝试的是用Visual Studio2008打开pHash.sln,选择发行版(而不是调试)并构建pHash。我不确定它是在哪里构建的,因为我找不到文件。我尝试在Visual Studio的项目文件夹中查找,但它不在那里,所以我假设它是在pHash/release/pHash.dll中构建的,但是当我用ctypes.cdll加载该dll时,pHash文档(http://phash.org/docs/howto.html)中列出的函数似乎都无法访问,例如ph_dct_imagehash(),ph_dct_videohash。

下面是我的代码示例:

代码语言:javascript
代码运行次数:0
运行
复制
import ctypes
import inspect

PHASHPATH = "C:\Users\me\Downloads\phash\release\pHash.dll"
phash_dll = ctypes.CDLL(PHASHPATH)
phash_dll['ph_dct_imagehash']

我得到的回答是:

代码语言:javascript
代码运行次数:0
运行
复制
Traceback (most recent call last):
  File "C:\Users\me\workspace\project\src\opencv.py", line 12, in <module>
    phash_dll['ph_dct_imagehash']
  File "C:\Program Files (x86)\Python27\lib\ctypes\__init__.py", line 371, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: function 'ph_dct_imagehash' not found

我是个新手,所以请耐心听我说。谢谢。

编辑:我正在运行Python 2.7。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-02 01:43:58

除了一些不同的函数外,没有任何pHash函数是从pHash.dll导出的。这可以通过DependencyWalker http://www.dependencywalker.com/进行验证。尝试在pHash.h中的函数声明前面添加__declspec(dllexport) (例如,对于ph_dct_imagehash),然后重新编译。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9962147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档