3

バイリニア補間を使用して、2D 画像のアップサンプリングとダウンサンプリングがどのように正確に行われるかを理解しようとしています。これで、2x2 近傍値を使用して双一次補間がどのように機能し、重みを使用してこの 2x2 領域内のデータ ポイントを補間するかがわかりました。しかし、私が気づいていないことは、以下で尋ねられます。私の目的と具体的な質問は -

1.まず、値の2Dイメージ(サイズMxN)があります。この画像の幅 (M) と高さ (N) は固定ではなく、場合によって変わります。この 2D 画像は、双一次補間を使用してサイズ PxQ のグリッドにダウンサンプリングする必要があります (P と Q は入力パラメーターとして構成されます)。たとえば、PxQ が 8x8 であるとします。また、入力 2D 配列イメージのサイズが 200x100 であるとします。つまり、200 列、100 行です。

この 200x100 画像の双一次補間を使用してダウンサンプリングを実行しているときに、最初にサイズ 100x50 のダウンサンプリングされた画像を取得する必要があります (双一次補間を使用して両方の次元で 2 だけダウンサンプリングします)。次に、50x25 画像 (再び両方の次元で 2 でダウンサンプリングすることによって)、次に 25x12 画像、次に 12x12 (今回は行に沿ってのみ線形 (バイリニアではありません!) 補間によってダウンサンプリングを行い、最後にいくつかのピクセルをドロップして 8x8 を取得します。 .正確なアルゴリズムまたはこれを達成するためのさまざまな方法へのポインターは高く評価されます。

2.上記の質問は別の質問を提起します-非整数スケール係数による双一次補間を使用してダウンサンプリングする方法、たとえば、8x8画像配列から、両方の次元のリサンプリング/スケーリング係数が整数ではない6x2画像に移動する方法。

3.次に、8x8 サイズの画像を取得したら、元のサイズと同じ MxN に双一次補間によってアップサンプリングする必要があります。8x8 から 20x20 に変更する必要がある場合。行のポイント間でどのように補間し、何らかの方法で行全体を補間しますか。繰り返しますが、整数以外のスケール係数の場合、アップサンプリングの双一次補間はどのように発生しますか。正確な手順。

最後に、これを C で実装する必要があります。

さまざまな例を取り上げてこれらの特定の問題を視覚化しようとしましたが、ダウンサンプリングとアップサンプリング中にこの双一次補間がどのように発生するかを明確に把握できませんでした。私が持っているのは、机の上に「ドットとクロス」の絵が描かれた紙のシートがたくさんあるだけですが、まだ明確な解決策はありません!

詳細な読み物、本は大歓迎です。

4

0 に答える 0