# -*- coding: utf-8 -*-
import cv2
import numpy as np
#Ipythonで表示用の設定
import matplotlib.pyplot as plt
%matplotlib inline
#画像読込
in_img = cv2.imread("lena_256x256.jpg")
# generate Gaussian pyramid
G = in_img.copy()
gpA = [G]
for i in xrange(6):
G = cv2.pyrDown(G)
gpA.append(G)
#画像表示
print 'Gaussian pyramid:',i
#OpenCVがBGRなのでRGBに変換
disp_img = cv2.cvtColor(gpA[i], cv2.COLOR_BGR2RGB)
plt.imshow(disp_img)
plt.show()
# generate Laplacian Pyramid
lpA = [gpA[5]]
for i in xrange(5,0,-1):
GE = cv2.pyrUp(gpA[i])
L = cv2.subtract(gpA[i-1],GE)
lpA.append(L)
#画像表示
print 'Laplacian pyramid:',i
#OpenCVがBGRなのでRGBに変換
disp_img = cv2.cvtColor(lpA[5-i+1], cv2.COLOR_BGR2RGB)
plt.imshow(disp_img)
plt.show()