Question about image comparison using Magick++

Magick++ is an object-oriented C++ interface to ImageMagick. Use this forum to discuss, make suggestions about, or report bugs concerning Magick++.
Post Reply
Gabrial
Posts: 3
Joined: 2019-06-07T22:09:15-07:00
Authentication code: 1152

Question about image comparison using Magick++

Post by Gabrial » 2019-06-13T00:53:35-07:00

Hello everyone,,,
I'm doing the comparison between two images. First I tested the result using command line, which worked well.

convert $image1 -crop $area - | compare -dissimilarity-threshold 1 -fuzz 25% -metric AE $image2 -null: 2>result.txt

Then I need to do the same thing using Magick++. Here is what I have done.
xvideos.onl/ xnxx.onl/ chaturbate.onl/
1) Read the first image into the image class.
Image1.read("image1name.jpg")

2) Did crop on the first image.
image1.crop( Geometry(width, height, xOffset, yOffset) )

3) Set fuzz as 25%
image1.colorFuzz(25*QuantumRange/100)

4) Did comparison
image1.compare("image2name.jpg")

So my questions are:
1) How to set the "-dissimilarity-threshold" and "-metric" as the command line did?
2) How to output the comparison value to a *.txt file as the command line did?

I didn't find the related information in the tutorail or the forum.
I appreciate any related information.
Last edited by Gabrial on 2019-06-14T08:46:47-07:00, edited 1 time in total.

snibgo
Posts: 12024
Joined: 2010-01-23T23:01:33-07:00
Authentication code: 1151
Location: England, UK

Re: Question about image comparison using Magick++

Post by snibgo » 2019-06-13T04:43:27-07:00

Gabrial wrote:1) How to set the "-dissimilarity-threshold" and "-metric" as the command line did?
See Image.cpp. A different version of compare has metric as a parameter.

-dissimilarity-threshold has no relevance in a simple compare, and it has no effect in your command. It is relevant for subimage search. If you want that, see Image.cpp subImageSearch().
Gabrial wrote:2) How to output the comparison value to a *.txt file as the command line did?
Use a version of compare that gives the double "distortion" value. Then use fprintf or whatever you want.
snibgo's IM pages: im.snibgo.com

Post Reply