【Python/OpenCV】窓画像の作成(切り取り)

この記事では、Python版OpenCVで画像の一部分を切り取り、窓画像を作る方法をソースコード付きで解説します。

窓画像の作成(切り取り)

Pythonでは、NumPyのスライスを使うことで、OpenCVで読み込んだ画像のいち部分を切り取って窓画像を作成できます。

書式

roi = img[y:y+h, x:x+w]
パラメータ 説明
x, y 窓画像の左上座標(x, y)
w, h 窓画像の幅・高さ

ソースコード(Python3+OpenCV3)

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

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

def main():
    # 入力画像とテンプレート画像をで取得
    img = cv2.imread("input.png")

    # 窓画像の左上座標
    x, y = 50, 100

    # 窓画像の幅・高さ
    w, h = 40, 40

    # 入力画像から窓画像を切り取り
    roi = img[y:y+h, x:x+w]

    # 窓画像の保存
    cv2.imwrite("output.png", roi)


if __name__ == "__main__":
    main()

実行結果

サンプルプログラムの実行結果です。
■入力画像(左)、出力画像(右)

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