Javaで画像ブレンディング用のポアソン ソルバーを実装しようとしています。5つ星の方法で秘密化した後、実際の作業が始まります。これを行うには、色の値を使用して次の 3 つの手順を実行します。
- 行と列で正弦変換を使用する
- 固有値を掛ける
- 行と列に逆正弦変換を使用する
これはこれまでのところ機能します。Java で正弦変換を行うために、Apache Commons Math パッケージを使用しています。
ただし、FastSineTransformerには 2 つの制限があります。
- 配列の最初の値は 0 でなければなりません (それで問題ありません。実際の問題は 2 番目です)。
- 入力の長さは2 の累乗でなければなりません
したがって、現在、私の抜粋は 127、255 などの長さで収まっています (1 と 2 が満たされるように、最初にゼロを挿入しています)私の抜粋を自由に。
私の質問は: Apache FastSineTransformer の制限に適合するように、たとえば長さ 100 の配列を拡張する方法はありますか?
FastFourierTransfomer クラスでは、ゼロをパディングして 2 の累乗を取得できることが言及されています。しかし、それを行うと、間違った結果が得られます。おそらく私は間違っているかもしれませんが、ゼロでパディングしているときに心に留めておく必要があるものがあるかどうかは本当にわかりません