Python版OpenCVのcv2.imencodeとcv2.imdecodeでOpenCVで画像をエンコードおよびデコードを行う方法を解説します。
画像の圧縮(エンコード)と復号(デコード)
Python版OpenCVのcv2.imencodeとcv2.imdecodeは、OpenCVで画像をエンコードおよびデコードするためのメソッドです。
画像をメモリ内で圧縮したり、圧縮された画像データを元の画像に戻したりすることができます。
サンプルコード① 画像のエンコード
import cv2 # 画像を読み込む img = cv2.imread('input.jpg') # 画像をJPEG形式でエンコード result, encoded_img = cv2.imencode('.jpg', img) # エンコードされた画像データをファイルに保存 with open('encoded_img.jpg', 'wb') as f: f.write(encoded_img)
サンプルコード② 画像のデコード
import cv2 import numpy as np # エンコードされた画像データを読み込む with open('encoded_img.jpg', 'rb') as f: encoded_img = f.read() # バッファから画像データをデコード decoded_img = cv2.imdecode(np.frombuffer(encoded_img, np.uint8), cv2.IMREAD_COLOR) # デコードされた画像を表示 cv2.imshow('Decoded Image', decoded_img) cv2.waitKey(0) cv2.destroyAllWindows()
関連ページ
【Python版OpenCV超入門】使い方とサンプルコードを解説
Python版OpenCVで画像処理プログラミングを行う方法を入門者向けにソースコード付きで解説するページです。
【画像処理入門】アルゴリズム&プログラミング
画像処理における基本的なアルゴリズムとその実装例(プログラム)についてまとめました。
コメント