cvl-robot's diary

研究ノート メモメモ https://github.com/dotchang/

lanczosの比較

openCVのresizeのlanczos4とHexeReinさんの実装[1]との違いを比較してみましょう。(どっちが良い悪いではなく、ね)

関数のインターフェースをcv::Matに書き換えます。


https://gist.github.com/f3f22fc29953d573cc12.git 

f:id:cvl-robot:20140918124117p:plain

左から、

  • 入力画像src
  • cv::resize(src, dst, cv::Size(m_src.size().width*2, m_src.size().height*2), 0.0, 0.0, CV_INTER_LANCZOS4);
  • lanczos(src, dst2, 4, 2.0);

パッと見では、あまり違いは判りませんね。

差分を協調してみましょう。

f:id:cvl-robot:20140918124440p:plain

左側は差分の絶対値、その結果のヒストグラム平滑化

  • cv::absdiff(dst, dst2, dst3);
  • cv::equalizeHist(dst4, dst4);

大げさな強調過ぎて、あまり良い評価方法ではありませんが、結構違いがありますね。うーん、この差はどこから来てるんだろう?

f:id:cvl-robot:20140918131248p:plain

差分を取って、グレースケール化してヒストグラム平滑化。

  • dst-dst2
  • dst2-dst

 

ま、パッと見は違いが分からないので、今はあまり気にしないでおきましょう。

 

[1] 画像処理 - HexeRein