OpenCV - 範囲を指定して画像をトリミングする方法

画像の切り出し

imread メソッドで画像を読み込んだオブジェクトに、縦と横の範囲を指定する場、画像をスライスできる。スライスした画像は、imwrite メソッドで保存できる。

import cv2 as cv

img = cv.imread("sample.jpg")
h, w, ch = img.shape


cut_img = img[0:int(h / 2), 0:int(w / 2)]
cv.imwrite("sample-topleft.jpg", cut_img)


cut_img = img[0:int(h / 2), int(w / 2):w]
cv.imwrite("sample-topright.jpg", cut_img)


cut_img = img[int(h / 2):h, 0:int(w / 2)]
cv.imwrite("sample-bottomleft.jpg", cut_img)


cut_img = img[int(h / 2):h, int(w / 2):w]
cv.imwrite("sample-bottomright.jpg", cut_img)

処理前

OpenCV putText 処理前の画像

処理後

sample-topleft.jpg

sample-topright.jpg

sample-bottomleft.jpg

sample-bottomleft.jpg