動機
AIの学習前にデータ拡張(水増し)する際、回転をさせると黒い枠が残るができれば消したい。
画像を回転して黒い枠を切り取る
rotate_and_crop.rb
import cv2
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import math
img = cv2.imread('/content/drive/MyDrive/lena.png')
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
fig = plt.figure()
h, w, c = img.shape
imgs=[]
for i in range(0, 360, 10):
rad = math.radians(i)
scale = abs(math.sin(rad)) + abs(math.cos(rad))
mat = cv2.getRotationMatrix2D((w / 2, h / 2), i, scale)
affine_img = cv2.warpAffine(img, mat, (w, h))
imgs.append([plt.imshow(affine_img)])
ani = animation.ArtistAnimation(fig, imgs, interval=360)
ani.save("rena.gif")