【Python/OpenCV】画像の圧縮(encode、decode)

この記事では、Python版OpenCVでフレーム間差分法を実装し、移動物体を検出する方法をソースコード付きで解説します。

画像の圧縮(encode、decode)

Python版OpenCVの「cv2.imencode」で画像の圧縮(エンコード)ができます。
復元(デコード)は、「cv2.imdecode」です。

ソースコード(Python3+OpenCV3)

サンプルプログラムのソースコードです。

# -*- coding: utf-8 -*-
import cv2
import numpy as np

def main():
    # 入力画像の読み込み
    img = cv2.imread("input.jpg")
    
    # 画像の圧縮(画質は80%)
    result, encimg = cv2.imencode("img2.jpg", img, [int(cv2.IMWRITE_JPEG_QUALITY), 80])

    # 圧縮画像の保存
    cv2.imwrite("output.jpg", img)


if __name__ == '__main__':
    main()
関連記事
1 PythonでOpenCV入門 サンプル集
2 【Python】画像処理プログラミング入門
3 【画像処理入門】アルゴリズム&プログラミング
関連記事

コメント

  1. トミケラトプス より:

    圧縮画像の保存の行ですが、cv2.imwrite(“output.jpg”,img)だと思います。確認のほどよろしくお願いいたします。