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

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

【ROI】窓画像の作成(切り取り)

ROI(Region of Interest)とは、画像データのうち、操作の対象として選ぶ領域のことです。
「対象領域」「注目領域」「関心領域」「窓画像」などといいます。
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

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

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

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

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

# 窓画像の保存
cv2.imwrite("C:\prog\python\output.png", roi)
関連記事
1 PythonでOpenCV入門 サンプル集
2 【Python】画像処理プログラミング入門
3 【画像処理入門】アルゴリズム&プログラミング

コメント