今回の記事はOpenCVの機能としてある画像の切り取りに関しての手順をご紹介していきます。pythonラッパーがあるのでpythonでOpenCVを操作していきます。
開発環境と言っていいのか定かではありませんが、今回の環境はDocker上のpython環境でopencvを使用できるように設定した環境になります。
opencvを使用できる環境とはpipなどの操作のみなので簡単にインストールできます。
では早速記事に進んでいきます。
PythonでOpenCVを使って画像の切り取りを行う方法
まずは下記のように画像を読み込みます。
#画像読み込み
img = cv2.imread("/画像パス.jpg")
この読み込み形式はnumpy配列になっております。この配列を区切ることで画像の分割を行うことができます。分割方法は下記のようになっています。
cv2.imwrite('画像パス.jpg',img[Yのはし:yのはし,xの端から:xのはし)
cv2.imwrite('画像パス.jpg',img[:,:70])
切りたい箇所を配列で指定するのでなかなか慣れるまでは難しいですが、読み込みがそもそも配列として読み込んでいますので慣れれば楽です。配列から値をとってきてそのまま分割できます。
opencvとnumpy配列の応用で画像内の文字の間隔を広げる手法に関しての記事も書いておりますのでnumpyとopencvの使用方法に慣れるということでもおすすめの記事です。リンクから確認して見てください。
コメント
cv2.imwrite(‘画像パス.jpg’,img[xの端から:xのはし,Yのはし:yのはし)
xとyが逆では?
ご指摘ありがとう御座いました。
その通りです。修正しておきました。