Pythonでいろいろやってみる

Pythonを使った画像処理や機械学習などの簡単なプログラムを載せています。

画像を斜めに変形する

画像を斜めに変形します。画像を読み出し別のndarrayに1行ずつコピーしますがその際にx方向に1pxずつずらすことで斜めに変形した画像を生成します。

関連記事

黒画像を作成する

環境
  • windows10 home
  • Anaconda 3/ jupyter notebook 5.6.0
  • Python 3.7.0
  • OpenCV 4.0.0
準備

画像ファイルはフリー写真素材ぱくたそからダウンロードさせていただき、ファイル名'ramen.jpg'で、jupyter notebookファイル(***.ipynb)と同じディレクトリに保存しました。
f:id:T_A_T:20190609211927j:plain
ramen.jpg

コード
import cv2
import numpy as np

# 変形する画像読み込み
img = cv2.imread('ramen.jpg')
# 画像の高さ、幅の取得
height,width = img.shape[:2]
# 高さがimgと同じ、幅がimgの(幅+高さ)になる黒画像img_diagonalを作成
img_diagonal = np.zeros((height, height+width, 3), np.uint8)

# 一行ずつ、imgをimg_diagonalにimgをコピー
# その際にコピー先をx座標を1pxずつずらす
for y in range(height):
    img_diagonal[y,0+y:width+y] = img[y]

# 画像の保存
cv2.imwrite('diagonal.jpg',img_diagonal)
実行結果

斜めに変形された画像が保存されます。
f:id:T_A_T:20190609212015j:plain

ブログランキングに参加しています

にほんブログ村 IT技術ブログへ
にほんブログ村