nearest-neighbor(ニアレストネイバー)、bilinear(バイニリア)、bicubic(バイキュービック)、Lanczos(ランチョス)
Link API Reference .
# -*- coding: utf-8 -*-
import cv2
#Ipythonで表示用の設定
import matplotlib.pyplot as plt
%matplotlib inline
#画像読込
in_img = cv2.imread("eye.bmp")
# 画像の拡大・縮小
h = in_img.shape[0] # 画像の高さ
w = in_img.shape[1] # 画像の幅
out_img1 = cv2.resize(in_img,(w*2,h*2),interpolation=cv2.INTER_NEAREST ) # 画像を2倍に拡大
out_img2 = cv2.resize(in_img,(w*2,h*2),interpolation=cv2.INTER_LINEAR ) # 画像を2倍に拡大
out_img3 = cv2.resize(in_img,(w*2,h*2),interpolation=cv2.INTER_CUBIC ) # 画像を2倍に拡大
out_img4 = cv2.resize(in_img,(w*2,h*2),interpolation=cv2.INTER_LANCZOS4 ) # 画像を2倍に拡大
#OpenCVがBGRなのでRGBに変換
disp_in_img = cv2.cvtColor(in_img, cv2.COLOR_BGR2RGB)
disp_out_img1 = cv2.cvtColor(out_img1, cv2.COLOR_BGR2RGB)
disp_out_img2 = cv2.cvtColor(out_img2, cv2.COLOR_BGR2RGB)
disp_out_img3 = cv2.cvtColor(out_img3, cv2.COLOR_BGR2RGB)
disp_out_img4 = cv2.cvtColor(out_img4, cv2.COLOR_BGR2RGB)
plt.figure(figsize=(8,8))
plt.subplot(321)
plt.imshow(disp_in_img)
plt.title('input image')
plt.figure(figsize=(8,12))
plt.subplot(323)
plt.imshow(disp_out_img1)
plt.title('nearest-neighbor')
plt.subplot(324)
plt.imshow(disp_out_img2)
plt.title('bilinear')
plt.subplot(325)
plt.imshow(disp_out_img3)
plt.title('bicubic')
plt.subplot(326)
plt.imshow(disp_out_img4)
plt.title('Lanczos')