【Python/OpenCV】バイリニア補間法で画像の拡大・縮小(cv2.resize)

Python版OpenCVのcv2.resizeでバイリニア補間法を実装し、画像のサイズを変更(拡大・縮小)する方法をソースコード付きで解説します。

画像のリサイズ(バイリニア補間法)

本ページの内容は以下動画で解説しています。

画像を拡大・縮小するときの画素の埋め方の1つに「バイリニア補間法」があります。
原理については以下ページで解説しています。

【画像処理】バイリニア補間法の原理・計算式
画像を拡大・縮小・回転したときなどに利用する補間法の1つである「バイリニア補間法」の原理や計算方法についてまとめました。

今回は、以下の2通りの方法で処理を実装してみました。

方法①・・・NumPyでアルゴリズムを書いて実装
方法②・・・OpenCV(cv2.resize)で実装

cv2.resize

dst = cv2.resize(src, dsize[, interpolation])
パラメータ名 説明
src 入力画像
dsize 変更後の画像サイズ
interpolation 補間法(バイリニア補間ならcv2.INTER_LINEAR)
dst 出力画像

サンプルコード①NumPyで実装した場合

サンプルプログラムのソースコードです。(画像サイズを2倍)


サンプルコード②OpenCVで実装した場合


実行結果

サンプルプログラムの実行結果です。
■入力画像(左)と出力画像(右)

最近傍補間法でリサイズした時に比べて輪郭のギザギザが滑らかになっていることがわかります。

【Python版OpenCV超入門】使い方とサンプルコードを解説
Python版OpenCVで画像処理プログラミングを行う方法を入門者向けにソースコード付きで解説するページです。

コメント