私は以下の式を実装しようとしています。今後の問題は、この方程式については必ずしもありませんが、より一般的には、画像処理にゼロで部門に対処する方法について:画像処理(またはPRNU推定)の「ゼロ除算」ハンドル
ここ、I
はイメージです、W
は、画像間の差であるとそのノイズ除去されたバージョン(したがって、W
は画像内のノイズを表す)であり、K
は、同じカメラのd
画像から得られた推定指紋です。すべての計算はピクセル単位で行われます。したがって、式は、行列乗算を伴うではない。デジタル指紋を推定するアイデアについては、wikipedia articleまたはscientificpapersのような対応する文献を参照してください。
しかし、私の問題は、Imageが0の値を持つピクセルを持つ場合に発生します。完璧な黒(我々は1つの画像、k=1
を持っているとしましょう、次のピクセル値が等しくない場合、ゼロは次の画像のピクセル値によって偶然上書きされません)。 次に、私は0で除算します。これは明らかに定義されていません。
はどうすればこの問題を克服することができますか?私が思いついた1つの選択肢は、計算を開始する前にすべてのピクセルに+1
を追加することでした。ただし、ピクセル値の範囲が[0|255]
から[1|256]
にシフトするため、データ型がuint8
であることが不可能になります。
他の著者はこのトピックについて読んでいますが、数値が範囲の境界線を近づけないとはしばしば考えません。たとえば、ピクセル値の式を計算するのは[5|250]
です。数値的な問題ではなく、画像が完全に飽和しているか完全に黒くなっていると、その領域で指紋を正しく推定することさえできないと彼らは言う。
しかし、再び、私の主な関心事は、このアルゴリズムは最良の実行方法についてではなく、一般的には:画像処理で0によって部門に対処する方法は?
"I_kはイメージです"とはどういう意味ですか?画像の数学的モデルとは何ですか? – Matsmath
これは2Dマトリックスです。例えば。マトリクスの各エントリは画像内の1つのピクセルに対応します。マトリックスの寸法は画像の解像度と同じです。 すべての演算は、I_k(x、y)の1ピクセルを取り、それを分子のW_k(x、y)で乗算するので、数学は通常の「行列計算ルール」に従わないことに注意してください、例えば) – muuh
私が思ったように。そして、行列I_k^2の和で*を割り算するとどういう意味ですか? – Matsmath