6x6イメージを120x120にサイズ変更するのに問題があります。サイズ変更された画像が1ピクセルだけ多少ずれているように見えます。これはのcvResizeとのcv :: resizeで発生します。私のコードは次のようになります。どのようにしてcvResize/resizeを正しく使用できますか?
warpedImgは(私はそれが簡単に認識できるようにすることGIMPでそれをリサイズ)このようになりますwarpPerspective(greyImg, warpedImg, homography, Size(6, 6));
Mat bigWarpedImg = Mat(120,120,CV_8UC1);
resize(warpedImg, bigWarpedImg, Size(0,0), 20, 20, INTER_NEAREST);
:http://picasaweb.google.com/103165673068768416583/Opencv#5565090880773608210
:http://picasaweb.google.com/103165673068768416583/Opencv#5565090881969794706
bigWarpedImgはこのようになりますご覧のとおり、bigWarpedImg左と上の境界線は小さく、右と下の境界線は太すぎます。 OpenCVのバグのようです。これは1つですか、この関数を間違って使用しますか?
新しいサイズが元のサイズの(自然数)倍数である場合、補間の必要はありません。 – binford
私はそれを試しました。最も近い双線形補間を使用して、640x480イメージを64x48サイズにリサイズしました。一番近いものは1ピクセルシフトし、双線形(以上)はありませんでした。 –
これをテストしていただきありがとうございます。しかし、私はしなければCPUサイクルを費やしたくない。 SMALLからBIGへのリサイズ(他の方法ではない)と大きいイメージサイズが小さいイメージの倍数である場合、補間はちょうどnessecaryではありません(良い結果は得られません)。 – binford