lanczosの比較
openCVのresizeのlanczos4とHexeReinさんの実装[1]との違いを比較してみましょう。(どっちが良い悪いではなく、ね)
関数のインターフェースをcv::Matに書き換えます。
https://gist.github.com/f3f22fc29953d573cc12.git
左から、
- 入力画像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);
パッと見では、あまり違いは判りませんね。
差分を協調してみましょう。
左側は差分の絶対値、その結果のヒストグラム平滑化
- cv::absdiff(dst, dst2, dst3);
- cv::equalizeHist(dst4, dst4);
大げさな強調過ぎて、あまり良い評価方法ではありませんが、結構違いがありますね。うーん、この差はどこから来てるんだろう?
差分を取って、グレースケール化してヒストグラム平滑化。
- dst-dst2
- dst2-dst
ま、パッと見は違いが分からないので、今はあまり気にしないでおきましょう。
[1] 画像処理 - HexeRein