LoginSignup
2
1
はじめての記事投稿

OpenCV 画像の一部を切り出す:座標指定・スライシング

Posted at

概要

OpenCVの基礎を固めます.第2回目は画像のトリミングに取り組みました.

OpenCVとは

・Pythonライブラリの1種
・Intel提供のOSS
・画像・動画処理専門ライブラリ
・Pythonの一般的な前処理ライブラリとして挙げられる

メリット
・DPL用の前処理が簡略化でき容易
・ 多様なライブラリと相互性がある

環境

Windows11,VSCode,python(3.10)

画像の一部を切り出す:座標指定・スライシング

画像は自分で撮影したケーキの画像cake.jpgを使います.
コードの先頭にimport cv2でライブラリをインポートし,OpenCVを使えるよう準備します.

Trimming.py
#OpenCVのインポート
import cv2

画像のwidth×heightを調べます.print関数にimg.shapeと記載し,画像サイズは360×478と分かりました.スライシングはimg[top:bottom,left:right]に取り出したい座標を指定します.

Trimming.py
import cv2

img=cv2.imread("cake.jpg")
print(img.shape)
#(360, 478, 3)  (縦幅,横幅,色相数)を表しています.

timg=img[100:250,200:340]
#切り抜きたい部分の座標を入力

cv2.imwrite("timg.jpg",timg)
cv2.waitKey(0)

色相数についてコメントアウトで触れていますが,3はカラー画像(RGB),2は二値画像(白黒)を表現しています.

結果

出力画像は以下のtimg.jpgの結果になりました.元画像のケーキの飾り部分が抜き出せていますね.

scakeR.jpg

スライシングについて

今回のスライシングはトリミング方法の1つを紹介したものです.
この方法は任意の座標で,好きなサイズに画像を抜き出すことができます.(もちろん画像の縦横幅以内の範囲でですが)

スライシングについての図解をしていたサイトがあったので,自分でも理解の為に図解を作ってみました.

srice.jpg

スライシングは分割の意味があり,これをトリミングに用いている方法です.
上の図は処理のイメージです.座標を用いて四角形に切り出して抽出します.

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1