ImageMagick to compare 2 images, marked with 2 different color on the output image

前提是你 提交于 2021-01-29 07:46:21

问题


I want make 2 different colors on the output image when using Imagemagick. I have an original image with "Hello World" in it. And a modified image with "Hello Warcraft" in the same area. The default compare command will give me a image and mark all the differences with red.

Now I want to use 2 different colors like "orld" marked as red, and "arcraft" marked as another color, maybe blue. Is ImageMagick able to do this?

If not, how to use ImageMagick to transfer a specified color to another one?

Below are the sample.

Image A

Image B

Then I use the compare like: compare imageA.png imageB.png imageC.png

then the Image C will be:

Image C

But now I just know there are some differences between Image A and Image B. so I want to make some color-code on the Image C, it could be like below Image D:

Image D

from this I can know which parts are the same, and Green means what the difference on Image A and Red means what's the difference on Image B.


回答1:


You can do this in ImageMagick 6 (Unix Syntax).

ImageA:

ImageB:

convert img1.png img2b.png \
-define compose:args="0,1,-1,0.5" \
-compose mathematics -composite -auto-level \
\( xc:red xc:blue +append \) -clut diff.png


This is a biased difference. Anything above 0.5 or mid gray (in normalized values) will be one color corresponding to one image and anything below 0.5 will be the other color corresponding to the other image.

See clut and compose mathematics

For ImageMagick 7, change convert to magick.

ADDITION:

Given your new input images. Here is how to do that:

imageA:

imageB:

convert imageA.png imageB.png -write mpr:img +delete -fill white -colorize 80% \
\( mpr:img -compose minus -composite -threshold 0 -background red -alpha shape \) \
\( mpr:img +swap -compose minus -composite -threshold 0 -background blue -alpha shape \) \
-background none -compose over -flatten result.png


Sorry, I used blue in stead of green. But you can change that if you want.



来源:https://stackoverflow.com/questions/57655453/imagemagick-to-compare-2-images-marked-with-2-different-color-on-the-output-ima

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!