Skip to content

Commit d2b4102

Browse files
Lucio Palmierimarcomariani094
authored andcommitted
Add DHashVips::IDHash.fingerprint_by_url to open remote files
1 parent 593dde5 commit d2b4102

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

lib/dhash-vips.rb

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,22 @@ def distance a, b
9494
def fingerprint filename, power = 3
9595
size = 2 ** power
9696
image = Vips::Image.new_from_file filename, access: :sequential
97+
fingerprint_by_image(image, size)
98+
end
99+
100+
def fingerprint_by_url url, power = 3
101+
size = 2 ** power
102+
103+
require "open-uri"
104+
buffer = open(url, &:read)
105+
image = Vips::Image.new_from_buffer(buffer, "")
106+
107+
fingerprint_by_image(image, size)
108+
end
109+
110+
private
111+
112+
def fingerprint_by_image(image, size)
97113
image = image.resize(size.fdiv(image.width), vscale: size.fdiv(image.height)).colourspace("b-w").flatten
98114

99115
array = image.to_a.map &:flatten

0 commit comments

Comments
 (0)