objective-c中的pHash(图像哈希)不起作用

时间:2011-10-03 18:16:11

标签: objective-c macos phash

我使用brew从phash创建一个编译库 我已导入CImg.h文件,所有内容都编译但不起作用。

我想从图像中制作哈希,但我总是得到相同的输出

NSBundle *bundle = [NSBundle mainBundle];
NSString *path = [bundle pathForImageResource:@"branch.png"];

const char *image = [path cStringUsingEncoding:NSASCIIStringEncoding];

ulong64 hash = 0;
int valid = ph_dct_imagehash(image,hash);

NSLog(@"%i",valid);
NSLog(@"%llu",hash); 

使用此输出

 sh: convert: command not found
 sh: gm: command not found
 sh: convert: command not found
 sh: gm: command not found
 sh: convert: command not found
 sh: gm: command not found
 2011-10-03 20:10:22.571 pHashi386[2155:60b] -1
 2011-10-03 20:10:22.572 pHashi386[2155:60b] 0

有些事情出了问题但是我不知道什么是sh命令没有找到,如果我在正确的轨道上也没有。

2 个答案:

答案 0 :(得分:1)

似乎我必须添加一个环境变量PATH

我使用/ usr / local / bin:/ usr / local / sbin:/ usr / bin:/ opt / local / bin:/ usr / local / mysql / bin:/ opt / local / sbin:/ bin: / usr / sbin目录:/ sbin目录:在/ usr / X11 / bin中

作为我的价值

我不太确定它是否适用于iOS平台。

答案 1 :(得分:0)

您也可以告诉CImg在哪里找到ImageMagick转换,例如:

cimg :: imagemagick path(“/ opt / local / bin / convert”);