Skip to content

troelskn/pHash

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pHash

Interface to pHash.

Installation

gem install pHash

You can specify path to pHash library explicitly using environment variable like PHASH_LIB=/opt/local/lib/libpHash.dylib.

There are two problems with official version 0.9.6 of pHash. Both are fixed in a fork of pHash.

Dependencies

Usage

Compare two mp3s:

require 'phash/audio'

a = Phash::Audio.new('first.mp3')
b = Phash::Audio.new('second.mp3')
a.similarity(b)

or just

a % b

Get bunch of comparators and work with them:

audios = Phash::Audio.for_paths(Dir['**/*.{mp3,wav}'])
audios.combination(2) do |a, b|
  similarity = a % b
  # work with similarity
end

Videos:

require 'phash/video'

Phash::Video.new('first.mp4') % Phash::Video.new('second.mp4')

Images:

require 'phash/image'

Phash::Image.new('first.jpg') % Phash::Image.new('second.png')

Texts:

require 'phash/text'

Phash::Text.new('first.txt') % Phash::Text.new('second.txt')

Copyright

Copyright (c) 2011-2014 Ivan Kuchin. Released under the GPLv3 as required by license of underlying pHash library. See LICENSE.txt for details.

About

Ruby interface to pHash

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%