Project

pHash

0.04
Repository is archived
No commit activity in last 3 years
No release in over 3 years
Use pHash with ruby
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 3.0

Runtime

~> 1.0
 Project Readme

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-2019 Ivan Kuchin. Released under the GPLv3 as required by license of underlying pHash library. See LICENSE.txt for details.