#author("2025-04-23T12:23:20+09:00","","") #author("2025-04-23T12:23:34+09:00","","") [[log/20250422/佐藤綺羅]] *ファイル保存 [#f0b78758] **cv2.imwrite関数 [#ka94d102] cv2.imwrite(出力画像ファイル名, img, params) 画像の書き出しを行う関数。~ 引数は以下の通り。 |出力画像ファイル名(必須)|出力する画像ファイルのパスとファイル名| |img(必須)|書き出す画像データ| |params(オプション)|エンコーダーに渡すフラグ| 画像形式はファイル名の拡張子によって決まる。~ 対応している画像形式は以下の通り。 |JPEG|.jpegまたは.jpg| |PNG|.png| |TIFF|.tiffまたは.tif| |JPEG2000|.jp2または.jpc| |PFM|.pfm| |OpenEXR|.exr| paramsを設定することで、画質や圧縮レベルなどを細かく指定できるが、種類が多く複雑なのでここでは割愛。~ プログラム例を以下に示す。 取り込んだ画像~ &attachref(neko.jpeg); コード #code(python){{ #!/usr/bin/python import cv2 img = cv2.imread("neko.jpeg") gimg = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) cv2.imwrite("neko_gray.png",gimg) }} 実行結果~ &attachref(neko_gray.png);~ ↑の画像が"neko_gray.png"という名前でディレクトリに保存される。 ***JPEGとPNG [#e0af3272] **JPEGとPNG [#e0af3272] PNGが可逆圧縮であるのに対し、JPEGは非可逆圧縮である。~ これは即ち、JPEGでは圧縮の過程で画像のデータの一部が完全に削除されることを意味する。~ 画素情報までもが変更される恐れがあるため、JPEGでの画像保存は厳禁である。(文書を画像として保存する場合などの、画像の正確性が求められない場合はOK)~ PNGの場合、圧縮の過程で画像データが破壊されることはない。~ 画像の保存にはこちらを用いよう。