2013-11-07 5 views
0

Что RMagick эквивалентно команде ImageMagic:Что такое RMagick эквивалентно команде ImageMagic

compare -metric AE -fuzz 25% img1.png img2.png result.png 

Следующий рубин код работает отлично, и это дает мне желаемое значение с плавающей точкой, но в результате изображение не осуществляется пух.

img1  = Magick::Image.read("img1.png").first 
img2  = Magick::Image.read("img1.png").first 
img1.fuzz = "25%" 
img, float = img1.compare_channel(img2, Magick::AbsoluteErrorMetric) 
img.save('result.png') 
+1

Я искал этот ответ сегодня весь день, и, насколько я могу сказать, что не существует (по крайней мере, не так легко) , У rmagick просто нет способа сохранить изображение с искаженным изображением так, как это делает imagemagick. Если кто-нибудь это оценит, я бы определенно это оценил. – Raj

ответ

0

Я думаю, что он работает нормально, как вы его использовали. Я использую rmagick (2.13.3)

sg как это сработало для меня для сравнения. играя с пухом%, что делает разницу ...

require 'RMagick' 
require 'pp' 

include Magick 
a = ImageList.new("/path/to/ref/asset/missing-thumbnail.jpg") 
b = ImageList.new("https://url-to-check.com/getAssetImage/objId:2225296/videoVersionId:2225297/type:cover/width:138/height:200/imageId:2247209.jpg") 
c = ImageList.new("/path/to/second/asset/imageId:189577.jpg") 
#a.display 
#b.display 
c.fuzz = '20%' 
diff = c.compare_channel(b, Magick::AbsoluteErrorMetric) 
if diff[1] == 0 
    puts "yeeey. they r identical..." 
else 
    puts "ojh. they r not the same..." 
    #pp diff 
    puts diff[1] 
end 
exit 
Смежные вопросы