字型最終的推論, 是用 binary 來決定, 雖然圖片的color space 格式已經是灰階, 但是透過繪圖軟體修改時, 預設還在 gray, 編輯的結果並不是最終結果的 binary, 為避免肉眼的誤判, 每次存檔去變成 binary 又太浪費時間, 改用 script 來完成,就很方便, 又省時間.
為什麼要學這個?
將圖片轉換為二進制灰度模式在許多應用中都非常有用,例如:
- 文字辨識 (OCR): 許多 OCR 引擎在處理二進制圖片時,效果更好。
- 影像分析: 二進制圖片可以簡化影像分析,例如形狀檢測、邊緣檢測等。
- 列印或顯示: 在某些情況下,二進制圖片更適合列印或在特定顯示器上顯示。
- 壓縮: 二進制圖片通常比灰度或彩色圖片更小,有助於節省儲存空間。
使用方法
在終端機或命令提示字元中執行以下命令:
python binary_images.py <輸入目錄> [--output_dir <輸出目錄>] [--threshold <閾值>] [--antialiasing <反鋸齒強度>]
參數說明
<輸入目錄>
:要轉換圖片的目錄路徑。--output_dir <輸出目錄>
:轉換後圖片的輸出目錄路徑。如果未提供,則原始圖片將被覆蓋。--threshold <閾值>
:二值化的閾值,預設值為 127。--antialiasing <反鋸齒強度>
:反鋸齒處理的強度,預設值為 0(不套用)。
使用範例
- 範例 1: 將
images
目錄中的所有圖片轉換為二進制灰度模式,並覆蓋原始檔案:
python binary_images.py images
- 範例 2: 將
images
目錄中的所有圖片轉換為二進制灰度模式,並將轉換後的圖片儲存到binary_gray_images
目錄中:
python binary_images.py images --output_dir binary_gray_images
- 範例 3: 將
images
目錄中的所有圖片轉換為二進制灰度模式,並使用閾值 150 進行二值化:
python binary_images.py images --threshold 150
- 範例 4: 將
images
目錄中的所有圖片轉換為二進制灰度模式,並套用強度為 3 的反鋸齒處理:
python binary_images.py images --antialiasing 3
注意事項
- 請確保已安裝 OpenCV 函式庫(
pip install opencv-python
)。 - 反鋸齒強度值越大,模糊效果越強,但同時也會導致圖片細節損失。