どの項目に記述すべきか迷ったものをここに記します。
cv2.shapeは画像の高さ、幅、チャンネル数を格納するタプルである。
以下に、neko.jpegとそのグレー画像の画像情報を表示するプログラムの実行例を示す。
コード
#!/usr/bin/python
import cv2
img = cv2.imread("neko.jpeg")
gimg = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
print(gimg.shape, img.shape)
実行結果
(183, 275) (183, 275, 3)
この画像は縦183、横275の画素数で構成されていることが分かる。
また、グレー画像は高さと幅のみの二次元配列となることも読み取れる。
PNGが可逆圧縮であるのに対し、JPEGは非可逆圧縮である。
これは即ち、JPEGでは圧縮の過程で画像のデータの一部が完全に削除されることを意味する。
画素情報までもが変更される恐れがあるため、JPEGでの画像保存は厳禁である。(文書を画像として保存する場合などの、画像の正確性が求められない場合はOK)
PNGの場合、圧縮の過程で画像データが破壊されることはない。
画像の保存にはこちらを用いよう。