下の画像は、アンチエイリアシングでレンダリングされた同じ半径の 2 つの円を示していますが、左側の円が水平方向に半ピクセルずれているだけです (円の水平方向の中心が左側のピクセルの中央にあり、右側のピクセル境界にあることに注意してください)。 )。
相互相関を実行すると、相関配列の最大値の位置を取得して、シフトを計算できます。しかし、ピクセル位置は常に整数であるため、私の質問は次のとおりです。
「Numpy/Scipy で相互相関を使用して、2 つの画像間のサブピクセル (浮動小数点) オフセットを取得するにはどうすればよいですか?」
私のスクリプトでは、 または のいずれかを使用していますがscipy.signal.correlate2d
、scipy.ndimage.filters.correlate
同じ結果が得られるようです。
ここの円は単なる例ですが、私のドメイン固有の機能にはサブピクセル シフトがある傾向があり、現在は整数シフトしか得られないため、あまり良い結果が得られません...
どんな助けでも大歓迎です!