이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

psnr

피크 신호 대 잡음비(PSNR)

설명

예제

peaksnr = psnr(A,ref)는 영상 ref를 기준으로 영상 A의 피크 신호 대 잡음비를 계산합니다.

peaksnr = psnr(A,ref,peakval)은 영상 A의 피크 신호 대 잡음비를 계산할 때 peakval을 피크 신호 값으로 사용합니다.

[peaksnr,snr] = psnr(___)은 피크 신호 대 잡음비 외에도 단순한 신호 대 잡음비 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의 디폴트 값은 Aref의 클래스에 따라 달라집니다.

  • 영상의 데이터형이 double 또는 single인 경우 psnr은 영상 데이터의 범위가 [0, 1]이고 peakval의 디폴트 값이 1이라고 가정합니다.

  • 영상이 정수 데이터형인 경우 peakval의 디폴트 값은 클래스 범위에서 허용하는 가장 큰 값을 가집니다. 데이터형이 uint8인 경우 peakval의 디폴트 값은 255입니다. uint16형 또는 int16형인 경우 디폴트 값은 65535입니다.

출력 인수

모두 축소

피크 신호 대 잡음비(단위: 데시벨)로, double형의 스칼라로 반환됩니다. 단, Arefsingle형 클래스인 경우 peaksnrsingle형 클래스입니다.

데이터형: single | double

신호 대 잡음비(단위: 데시벨)로, double형의 숫자형 스칼라로 반환됩니다. 단, Arefsingle형 클래스인 경우 peaksnrsingle형 클래스입니다.

데이터형: single | double

알고리즘

psnr 함수는 다음 수식을 구현하여 피크 신호 대 잡음비(PSNR)를 계산합니다.

PSNR=10log10(peakval2/MSE)

여기서 peakval은 사용자가 지정하거나 영상 데이터형의 범위에서 가져옵니다(예: uint8형 영상인 경우 255임). MSE 즉, Aref 간의 MSE는 평균 제곱 오차입니다.

확장 기능

GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.

참고 항목

| | | | |

도움말 항목

R2014a에 개발됨