Linux中國

使用 ImageMagick 修復掃描圖像

使用這個開源工具,即使是批量校正圖像也很容易。

多年前,在翻閱一家舊書店的書架上的內容時,我偶然發現了一本名為 《UNIX System Command Summary for Berkeley 4.2 & 4.3 BSD》 的小冊子,由 Specialized Systems Consultants 出版。我買它是出於好奇,因為它已經有將近 20 年的歷史了,但仍然在很大程度上適用於現代 Linux 和 BSD。

無論是當時還是現在,我都很開心。一本寫於 1986 年的小冊子在 2016 年仍然很重要,而同一個書架上關於專有操作系統的書籍並不值得印刷它們的紙張。(想一想:你認為什麼技術可以在殭屍末日中倖存下來?)這本小冊子已經放在我自己的書架上好幾年了,但我突然想到可能值得對這個作品做一點數字保存,所以我決定掃描這本小冊子來創建一本 CBZ 電子書

使用 Skanlite 進行掃描很容易,但很耗時。然而,當我完成後,我發現有些頁面不是很平整。

A page of text, including a table of contents and a glossary, that is crooked and distorted

在列印中,這稱為配准問題,這意味著列印內容的位置在頁面上的方向不正確。

ImageMagick

ImageMagick 是基於終端的非互動式圖形編輯器。嘗試在無圖形環境(如純文本終端)中編輯圖形似乎違反直覺,但實際上很常見。例如,當你將圖像上傳到 Web 應用用作個人資料圖片時,應用伺服器上的腳本可能會使用 ImageMagick 或其庫處理你的圖像。非互動式編輯器的優點是你可以制定需要對示例圖像執行的操作,然後只需按一下按鈕即可將這些效果應用於數百個其他圖像。

ImageMagick 通常與其他圖形編輯器一樣強大,只要你花時間了解它的許多功能以及如何組合它們以實現所需的效果。在這種情況下,我想旋轉歪斜的頁面。在搜索了 ImageMagick 的文檔後,我發現我需要的解決方案的 ImageMagick 術語稱為糾偏。將你的術語與其他人的術語保持一致對於你不知道的任何事情都是一個挑戰,因此當你使用 ImageMagick(或其他任何東西)時,請記住,你描述問題或解決方案的用詞可能和別人不一樣。

要使用 ImageMagick 對帶有彎曲文本的圖像進行校正:

$ convert page_0052.webp -deskew25% fix_0052.webp

-deskew 選項表示可接受偏差的閾值。通過跟蹤看似字母的對象的峰谷來確定傾斜。根據掃描的彎曲程度,你可能需要多於或少於 25% 的閾值。我已經達到了 80%,到目前為止,低於 25% 沒用效果。

結果如下:

The same page of text, now with the text properly aligned

修復了!將其應用於文檔的剩餘 55 頁以修復傾斜的頁面,而對已經筆直的頁面不做任何事情。換句話說,由於我的閾值設置,在不需要調整的頁面上運行此命令是安全的。

使用 ImageMagick 裁剪圖像

在糾正了歪斜之後,因為我掃描每一頁都比必要的範圍要多,以防止意外切斷單詞,我認為裁剪我糾正的頁面是有意義的。我很高興在頁邊空白處保留一些空間,但沒有以前那麼多。我經常使用 ImageMagick 的「裁剪」功能來處理這個網站上的圖像,所以我很熟悉這個選項。但是,我需要確定如何裁剪每一頁。

首先,我需要圖像的大小:

$ identify fixed_0052.webp
WEBP 1128x2593 1128x2593+0+08-bit sRGB 114732B 0.020u 0:00.021

知道尺寸後,我能夠對我可以承受的丟失多少像素做出一些估計。經過幾次試運行,我得到了這個:

convert fix_0052.webp -gravity Center -crop 950x2450+0+0 crop_0052.webp

這並不完全適合,但當我將它應用於冊子中的其他圖像時,它被證明很重要。這些頁面的內容和掃描儀位置各不相同,所以我很高興給每一頁一點空餘空間。

這是校正和裁剪的圖像:

The same page of text, with the previous fixes applied and crooked white margins around the page cropped out.

使用開源批量編輯圖像

ImageMagick 的美妙之處在於,當你確定了修復圖像的公式,你就可以將該修復應用於需要相同修復的所有圖像。我使用 GNU Parallel 執行此操作,它使用我所有的 CPU 內核來完成數百頁的圖像校正。這並不需要很長時間,而且結果不言而喻。更重要的是,我已經有了一個 UNIX 歷史上有趣作品的數字檔案。

via: https://opensource.com/article/22/11/fixing-scanned-images-imagemagick

作者:Seth Kenlon 選題:lkxed 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國