使用ImageMagick“比較”圖像



Answers

雖然compare在許多應用程序中做得很好,但我發現有時候我更喜歡不同的方法,特別是在比較大多灰度級的圖像時:

convert '(' file1.png -flatten -grayscale Rec709Luminance ')' \
        '(' file2.png -flatten -grayscale Rec709Luminance ')' \
        '(' -clone 0-1 -compose darken -composite ')' \
        -channel RGB -combine diff.png

這個想法如下:將file1.pngfile2.png都轉換為灰度。 然後將第一個作為結果圖像的紅色通道,第二個作為綠色通道。 藍色通道由這兩個使用darken組合運算符組成,這意味著取最小值。

所以兩幅圖像中的白色都保持白色。 兩幅圖像中黑色的東西都保持黑色。 第一幅圖像為白色但第二幅為黑色的東西變成紅色,第二幅變成白色,第一幅變成黑色的東西變為綠色。

結果為您提供了一個很好的顏色編碼圖像,您可以輕鬆地將綠色與第一個輸入相關聯,並將紅色與第二個輸入相關聯。 下面是一個例子,我使用它來比較來自LaTeX的輸出和KaTeX的輸出(在我修正了一些使之更好的bug之前):

您可以將這些方法結合起來,使用compare來查看更改的內容,然後使用上面的內容更詳細地查看更改方式。

Question

我如何獲得兩幅圖像之間的差異? 我有原始圖像。 有人寫過原始圖像的精確副本。 現在,我需要將原件與圖像上的文字進行比較,並提取圖像格式中的文字。

例如:我有一張房子的照片。 有人拿了一份副本,並在副本上寫上“你好!”。 我想以某種方式比較兩張照片,刪除房屋,並留下一個“你好!”字樣的圖像。

這可能與ImageMagick? 我知道有辦法獲得圖像之間的統計差異,但這不是我所期待的。




Links