亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用ImageMagick“區分”圖像

使用ImageMagick“區分”圖像

如何獲得兩個圖像之間的差異?我有原始圖像。有人在原始圖像的精確副本上寫過字。現在,我需要將原始圖像與圖像上的文字進行比較,并僅提取圖像格式的文字。例子:我有一張房子的照片。有人拿了副本,并在副本上寫了“你好!”。我想以某種方式比較這兩張圖片,搬走房子,然后留下“你好!”字樣的圖片。ImageMagick是否可能?我知道有幾種方法可以得出圖像之間的統計差異,但這不是我想要的。
查看完整描述

3 回答

?
婷婷同學_

TA貢獻1844條經驗 獲得超8個贊

我自己的最愛是以下兩個:


 compare image1 image2 -compose src diff.png

 compare image1 image2 -compose src diff.pdf

上面兩個命令之間的唯一區別:第一個命令將兩個圖像之間的視覺差異顯示為PNG文件,第二個命令以PDF顯示。


生成的差異文件顯示紅色不同的所有像素。不變的顯示為白色。


簡短而甜美。


請注意,你的圖像需要不屬于同一類型。您甚至可以在一種情況下混合JPEG,TIFF,PNG:圖像應具有相同的大?。▓D像尺寸以像素為單位)。輸出格式由輸出文件名的擴展名確定。


如果出于某種原因,您需要比默認分辨率(72 dpi)更高的分辨率-然后只需添加適當的-density參數即可:


 compare -density 300 image1 image2 -compose src diff.jpeg

圖解示例

以下是上述命令的各種變化結果的一些說明。注意:比較的兩個文件甚至是 PDF文件,因此它也適用于這些文件(只要它們是1頁)!


左:帶有文本的       圖像中心:原始圖像       右:以紅色像素表示的差異(=文本)。 僅紅色差異像素; 相同的像素是白色的


compare \

        porsche-with-scratch.pdf  porsche-original.pdf \

       -compose src \

        diff-compose-default.pdf

這是我上面前面建議的命令。


左:帶文字的       圖像中心:原始圖像       右: “ seagreen”像素的差異。 僅海綠色差異像素; 相同的像素是白色的


compare \

        porsche-with-scratch.pdf  porsche-original.pdf \

       -compose src \

       -highlight-color seagreen \

        diff-compose-default.pdf

此命令添加一個參數以使差異像素為“ seagreen”,而不是默認的紅色。


左:帶有文本的       圖像中心:原始圖像       右:藍色差異(但帶有某些上下文背景) 僅藍色差異像素; 比較圖像中的第一個作為增亮背景l


compare \

        porsche-with-scratch.pdf  porsche-original.pdf \

       -highlight-color blue \

        diff-compose-default.pdf

此命令刪除該-compose src部分-結果是默認行為,compare該行為的默認行為是將2個衍射圖像中的第一個圖像保留為淺色背景。(這次添加了參數,以使差異像素顯示為藍色。)


查看完整回答
反對 回復 2019-12-07
?
MM們

TA貢獻1886條經驗 獲得超2個贊

雖然compare在許多應用程序中都表現出色,但我發現有時我更喜歡另一種方法,特別是在比較大多數灰度圖像時:


convert '(' file1.png -flatten -grayscale Rec709Luminance ')' \

        '(' file2.png -flatten -grayscale Rec709Luminance ')' \

        '(' -clone 0-1 -compose darken -composite ')' \

        -channel RGB -combine diff.png

這個想法是:將file1.png和都轉換file2.png為灰度。然后將第一個作為生成圖像的紅色通道,將第二個作為綠色通道。藍色通道是使用darkencompose運算符從這兩個通道形成的,這實際上意味著需要占用最少的空間。


因此,兩個圖像中都是白色的東西保持白色。在兩個圖像中都是黑色的東西保持黑色。在第一個圖像中為白色但在第二個圖像中為黑色的事物變為紅色,在第二個圖像中為白色但在第一圖像中為黑色的事物變為綠色。


結果為您提供了很好的顏色編碼圖像,您可以輕松地將綠色與第一個輸入關聯,將紅色與第二個輸入關聯。這是一個示例,我在此示例中將LaTeX的輸出與KaTeX的輸出進行比較(在我修復一些錯誤以使其變得更好之前):

您可以結合的方法,用compare看哪里的東西改變了,然后用上面更詳細地看怎么它改變。


查看完整回答
反對 回復 2019-12-07
?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

我最初是使用Gimp自己進行這些圖像比較的,但是我是直接在輸入圖像上使用“紋理提取”圖層模式進行的,因此公共區域最終將變成灰色,而差異將在一個方向上變成黑色,而在另一個方向上變成白色。 。較難閱讀,但生成速度更快,并且可以包含顏色信息。我想如果您使用“僅暗”而不是“屏幕”,并且將未使用的通道上的顏色改為白色而不是黑色,則您將更加匹配我的命令。

查看完整回答
反對 回復 2019-12-07
  • 3 回答
  • 0 關注
  • 916 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號