• ベストアンサー

SN比について

SN比についてしらべたのですが、数値の大きいほうが雑音が少ないのに同じ画像2枚を比較した時に0になるのはなぜなんでしょうか?雑音が少ないというか無いので値は大きくなると思ったのですが ご存知の方おられましたらお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • fluffy
  • ベストアンサー率29% (87/293)
回答No.1

どうも画像でSN比って言葉を使うことに抵抗を感じてしまいますけど分野の違いなんでしょうね。 SNって20xlog(S/N)なのでノイズが0だったら log(無限大)じゃないんでしたっけ?0になるのはどうしてですか?

mos21
質問者

お礼

分野の違いで、ノイズの割合を調べるためにSN比を使用しました。 N=(double)dib1.GetBmpWidth()*(double)dib1.GetBmpHeight(); for( int n=0; n<(int)N; n++ ){ pre_r=pre_r+dib1.BmpImage_ui_R[n]-dib2.BmpImage_ui_R[n]; } SN_R=10*log( (255*255)/(pre_r/N) ); このようなプログラムでは無限大にはならないで0が表示されてしまうんですよね。割り算だから分母は引き算で記述すればいいのでしょうか? SN_R=10*log(255*255);だけではコンパイルできないんですよね(^^;

その他の回答 (2)

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.3

私もNo.1さんと同じように画像比較にS/N比というのはちょっと違和感はありますが。 それはそれとして、S=NならS/N比は S/N=20log(10)S/N=20log(10)S/S=20log(10)1ですから 結果は0になります。

mos21
質問者

お礼

20log(10)1ですか? SN_R=10*log( (255*255)/(pre_r/N) );という式を使用しているのですが、S=Sということはpre_r/Nが0(すなわち分母が0)となるのですが。 上式=SN_R=10*log( (255*255)-log(pre_r/N) ); ということでlog(pre_r/N)が0なのでSN_R=10*log(255*255)だけということになるのではないですか?ですから値が0になるのはおかしいと思いました。

  • marimo_cx
  • ベストアンサー率25% (873/3452)
回答No.2

質問文の意味がイマイチ読み取れないのですが… SN比とは信号/雑音比なんですから、信号と信号を比較すれば当然差は無いのですから零で良いのではないでしょうか?もしも差があるならそれは同じ画像では無いことを意味しますけど? 信号と無雑音を比較すればx/0で∞になりますが。

関連するQ&A