Link API Reference
# -*- coding: utf-8 -*-
import cv2
#Ipythonで表示用の設定
import matplotlib.pyplot as plt
%matplotlib inline
# 画像読込
in_img = cv2.imread("lena.jpg")
# 画像のサイズ(縦、横)、チャンネル数を 取得
h,w,ch = in_img.shape
# Log-Polar変換
out_img = cv2.logPolar(in_img, (h/2, w/2), 70, cv2.WARP_FILL_OUTLIERS)
# 90度回転画像をLog-Polar変換
M = cv2.getRotationMatrix2D((w/2,h/2),-90,1)# 画像中心を回転軸とし、90回転させる回転行列生成
rot_img = cv2.warpAffine(in_img,M,(w,h)) # アフィン変換で画像を回転
out_img2 = cv2.logPolar(rot_img, (h/2, w/2), 70, cv2.WARP_FILL_OUTLIERS)
# OpenCVがBGRなのでRGBに変換
disp_in_img = cv2.cvtColor(in_img, cv2.COLOR_BGR2RGB)
disp_rot_img = cv2.cvtColor(rot_img, cv2.COLOR_BGR2RGB)
disp_out_img = cv2.cvtColor(out_img, cv2.COLOR_BGR2RGB)
disp_out_img2 = cv2.cvtColor(out_img2, cv2.COLOR_BGR2RGB)
# 画像表示
plt.figure(figsize=(10,10))
plt.subplot(221)
plt.imshow(disp_in_img)
plt.subplot(222)
plt.imshow(disp_out_img)
plt.subplot(223)
plt.imshow(disp_rot_img)
plt.subplot(224)
plt.imshow(disp_out_img2)