いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

ImageMagickを使って 8ビット グレースケール 画像を作る (8bit, Grayscale, 256階調)

概要

ビットの深さが 8 で、グレースケールな画像が必要になりまして、ImageMagickを使って元画像から変換してたのですが、忘れないようにここにメモメモ。

imagemagick.org

バージョン

$ magick -version
Version: ImageMagick 7.1.0-5 Q16 x64 2021-08-22 https://imagemagick.org
Copyright: (C) 1999-2021 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Visual C++: 192930133
Features: Cipher DPC HDRI Modules OpenCL OpenMP(2.0)
Delegates (built-in): bzlib cairo flif freetype gslib heic jng jp2 jpeg jxl lcms lqr lzma openexr pangocairo png ps raqm raw rsvg tiff webp xml zip zlib

24bit JPEG を 8bit Grayscale JPEG へ

$ magick convert input.jpg -type Grayscale output.jpg

24bit JPEG を 8bit Grayscale Bitmap へ

これがうまく行かなくて若干ハマりました。。。何回やっても Grayscale だけど depth 24 な画像になっていました。

最終的には以下のパラメータ指定でうまくいきました。

$ magick convert input.jpg -type Grayscale -colors 256 -compress none bmp3:output.bmp

ネットで情報探すと -depth 8 を指定するって書いてあったのですが、私の場合は指定してもうまくいかず。

以下の情報がピンポイントで参考になりました。

stackoverflow.com


過去の記事については、以下のページからご参照下さい。

  • いろいろ備忘録日記まとめ

devlights.github.io

サンプルコードは、以下の場所で公開しています。

  • いろいろ備忘録日記サンプルソース置き場

github.com

github.com

github.com