#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の場合、圧縮の過程で画像データが破壊されることはない。~
画像の保存にはこちらを用いよう。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS