スポンサーリンク

【OpenCV】OpenCV で射影変換を用いて斜め画像を生成するPythonコード。〜Machine Learning Data Augmentation 〜

Python
スポンサーリンク

今回の記事はopencvを用いて画像を水増しする方法を記載します。

opencvはかなり便利なので画像処理を色々行うことができます。しかし、今回はその中でも画像の射影変換を行う方法を記載します。

opencvの他の記事はまとめてリンク貼っておきますので気になる方は参考にしてどんどん画像処理行ってください。

スポンサーリンク

OpenCV を用いて斜め画像を生成する方法(射影変換)

使用する画像は下記です。

import cv2
import numpy as np
  
#画像読み込み
img = cv2.imread("/1002/hatena.jpg")
#リサイズ
img = cv2.resize(img,(100,100))
cv2.imwrite('./result/' + 'hatena_sonomama.jpg' , img)
#射影変換(上への傾き画像生成)
rows,cols,ch = img.shape
pts1 = np.float32([[0,0],[100,0],[0,100],[100,100]])
pts2 = np.float32([[20,0],[80,0],[0,100],[100,100]])
M = cv2.getPerspectiveTransform(pts1,pts2)
img_syaei = cv2.warpPerspective(img,M,(100,100))
cv2.imwrite('./result/' + 'hatena_syaei.jpg' , img_syaei)

下記が出力される画像です。

画像を下から見上げているような画像を生成できます。

pts1が元の画像の4点の座標を表しております。
こちらでは元の画像サイズに合わせておきます。

次に歪ませる際の画像の4すみの座標をpts2で指定します。上記のような画像は上方向に狭めていくので座標のX座標を少し編集します。

この他にも様々な画像の水増し方法をまとめております。
是非参考にしてください。

本記事を読んでいただき感謝です。サイトを訪れていただいた方はプログラミング勉強中かと思いますのでプログラミング勉強のコツを合わせてご紹介。

スポンサーリンク
スポンサーリンク
スポンサーリンク

ブログに関しては500円程度かかりますが、それ以外は無料です。知識の吸収と並行してアウトプットは非常に効率が良いです。テックアカデミーに関しては講座レベルが高いにも関わらず、無料体験や人気口座も大幅値下げがあるので、重点的に学びたいものを無料体験してみてください。

転職時にも、エンジニアからテックアカデミー・Paizaは認知度が高いので、未経験入社採用を行う際履歴書で目に留まります。特にPaizaのスキルレベルA・SなどはIT業界でも評価されます。

テックアカデミー・Paizaの無料登録ができる期間中にぜひご利用してみてください。私も活用経験ありです。

Python
スポンサーリンク
スポンサーリンク

コメント

タイトルとURLをコピーしました