簡體   English   中英

使用 Imagick PHP 進行錯誤級別分析 - 沒有顏色的結果

[英]Error Level Analysis with Imagick PHP - result without color

昨天我發布了關於使用 Imagmagick 在 PHP 中重新創建錯誤級別分析的問題。 在這個問題中,我找到了一個命令行交互的解決方案,並嘗試將其轉換為 Imagick 和 PHP。

提出了以下代碼:

convert barn.jpg \( +clone -quality 95 \) -compose difference -composite -auto-level -gamma 1.5 barn_ela.png

在此示例中,結果應突出顯示圖像的操縱部分。 所以我實現了以下代碼:

            $ELAImageMagick = new Imagick($targetDir . $OriginalImage);
            $OriginalImageMagick = new Imagick($targetDir . $OriginalImage);

            $ELAImageMagick->setImageCompression(Imagick::COMPRESSION_JPEG);
            $ELAImageMagick->setImageCompressionQuality($this->getRequest()->postVar('elaQuality'));

            $ELAImageMagick->compositeImage($OriginalImageMagick, Imagick::COMPOSITE_DIFFERENCE, 1,1);

            $ELAImageMagick->autoLevelImage();

            //Set gamma with a slider in the frontend
            $ELAImageMagick->gammaImage($this->getRequest()->postVar('elaSize'));

            //save ELA-image into Folder
            $ELAImageMagick->writeImage($targetDir . $ELAImage);

不幸的是,結果並沒有接近預期的結果:

原圖(photoshop中已添加黃色小鳥)

ELA-結果

有誰知道,我沒有完全正確地理解哪一步以及如何解決它? 我查看了文檔,並沒有真正找到任何替代方案。

提前致謝!

您需要首先證明您的代碼在 Imagemagick 中有效。 但是 -quality 僅適用於編寫 JPG output。 因此,您需要將 -quality 操作的結果實際保存為 JPG,然后在第二個命令中使用它。 在這里,我只是將 pipe 從一個轉換為另一個。 第一個轉換實際上創建了壓縮的 JPG,但只是將其傳遞給第二個命令而不寫入磁盤。

輸入:

在此處輸入圖像描述

轉換birds.jpg -quality 95 JPG:- | 轉換birds.jpg - -compose 差異 -composite -auto-level -gamma 1.5 bird_ela.png

我得到的結果是:

在此處輸入圖像描述

這是 PNG output 的 JPG 版本,因為 PNG 太大而無法發布。

但是,命令行的結果與您顯示的結果圖像不匹配。 所以這個命令也不能在 Imagick 中工作。

添加:

據我所見,除了中間的橙色鳥之外,沒有任何篡改。 大部分圖像是平坦的或具有隨機噪聲。 中間那只小鳥的質地更亮一些,所以可能是插入物。

在此處輸入圖像描述

補充2

為了增強邊緣偽影,將 -geometry +1+1 添加到我上面的命令中,就在 -compose 差異之前。

轉換birds.jpg -quality 95 JPG:- | 轉換birds.jpg - -geometry +1+1 -compose Difference -composite -auto-level -gamma 2 -define jpeg:extent=2000kb bird_ela2.png

再次發布 JPG 版本以解決文件大小問題。

這看起來與您發布的結果相似。

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM