Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

psnr

説明

peaksnr = psnr(A,ref) は、イメージ ref を参照イメージとして使用して、イメージ A のピーク S/N 比を計算します。

peaksnr = psnr(A,ref,peakval) は、イメージ A のピーク S/N 比を計算するためのピーク信号値として peakval を使用します。

[peaksnr,snr]= psnr(___) は、ピーク S/N 比に加えて、単純な S/N 比 snr も返します。

すべて折りたたむ

イメージを読み取り、ノイズを追加したコピーを作成します。元のイメージは参照イメージです。

ref = imread('pout.tif');
A = imnoise(ref,'salt & pepper', 0.02);

PSNR を計算します。

[peaksnr, snr] = psnr(A, ref);
  
fprintf('\n The Peak-SNR value is %0.4f', peaksnr);
 The Peak-SNR value is 22.6437
fprintf('\n The SNR value is %0.4f \n', snr);
 The SNR value is 15.5524 

入力引数

すべて折りたたむ

解析されるイメージ。任意の次元の数値配列として指定します。

データ型: single | double | int16 | uint8 | uint16

参照イメージ。サイズとデータ型がイメージ A と同じ数値配列として指定します。

データ型: single | double | int16 | uint8 | uint16

ピーク信号レベル。非負の数値として指定します。指定しない場合、peakval の既定値は、A および ref のクラスによって決まります。

  • イメージのデータ型が double または single の場合、psnr はイメージ データが範囲 [0, 1] にあると仮定し、peakval の既定値は 1 になります。

  • イメージが整数データ型である場合、peakval の既定値は、クラスの範囲で許容される最大値になります。uint8 データの場合、peakval の既定値は 255 です。uint16 または int16 の場合、既定値は 65535 です。

出力引数

すべて折りたたむ

デシベル単位のピーク S/N 比。double 型のスカラーとして返されます。例外として、A および ref のクラスが single である場合は、peaksnr のクラスは single になります。

データ型: single | double

デシベル単位の S/N 比。double 型の数値スカラーとして返されます。例外として、A および ref のクラスが single である場合は、peaksnr のタイプは single になります。

データ型: single | double

アルゴリズム

関数 psnr は、次の方程式を実装して、ピーク S/N 比 (PSNR) を計算します。

PSNR=10log10(peakval2/MSE)

peakval は、ユーザーが指定するか、イメージのデータ型の範囲から取得されます (たとえば、uint8 イメージの場合は 255)。MSE は平均二乗誤差、つまり Aref の間の MSE です。

拡張機能

GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。

R2014a で導入