Lanczos で使用される sinc(x) 曲線の値を簡単に計算できます。また、Lanczos のサイズ変更に関する以前の説明を読みましたが、この分野に慣れていないため、実際にそれらを適用する方法がわかりません。
lanczos でリサンプリングするには、出力と入力を互いにオーバーレイし、ポイントがピクセル位置の場所を示すことを想像してください。各出力ピクセル位置に対して、そのポイントからボックス +- 3 出力ピクセルを取得します。そのボックス内にあるすべての入力ピクセルについて、出力ピクセル座標の出力位置からの距離をパラメータとして、その位置でのランチョス関数の値を計算します。次に、計算された値をスケーリングして正規化し、合計が 1 になるようにする必要があります。その後、各入力ピクセル値を対応するスケーリング値で乗算し、結果を加算して出力ピクセルの値を取得します。
- たとえば、プログラミング用語で「入力と出力をオーバーレイする」とは実際にはどういう意味ですか?
- lanczos(x) = { abs(x) > 3 の場合は 0、x == 0 の場合は 1、それ以外の場合は sin(x*pi)/x } の式で、x は何ですか?
簡単な例として、14 個の値 (アドレス In0 ~ In13) を持つ入力画像があるとします: 20 25 30 35 40 45 50 45 40 35 30 25 20 15
これを 2 倍、つまり 28 個の値 (アドレス Out0 ~ Out27) の画像に拡大したいと考えています。
明らかに、アドレス Out13 の値はアドレス In7 の値と同様になりますが、Out13 の正しい値を計算するには、実際にどの値を乗算すればよいでしょうか? アルゴリズムの x は何ですか?