【Python/OpenCV】画像のマスク処理

この記事では、Python版OpenCVでマスク処理(マスキング)する方法をソースコード付きで解説します。

マスク処理

マスク処理とは、特定の領域だけを抽出する処理です。
今回はこれをPython+OpenCVで画像に対して行ってみました。

参考記事
1 【画像処理】マスク処理とマスク画像

ソースコード(Python3+OpenCV3)

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

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

def main():
    # 入力画像の読み込み
    img = cv2.imread("input.jpg")

    # マスク画像の読み込み
    mask = cv2.imread("mask.png", 0)

    # マスク処理
    img2 = cv2.bitwise_and(img, img, mask=mask)

    # 出力
    cv2.imwrite("result.png", img2)


if __name__ == '__main__':
    main()

実行結果

サンプルプログラムの実行結果です。
※左から入力画像、マスク画像、出力画像

関連記事
1 PythonでOpenCV入門 サンプル集
2 【Python】画像処理プログラミング入門
3 【画像処理入門】アルゴリズム&プログラミング
関連記事