2017-05-02 13 views
1

이미지가 왜곡되어 왜곡되지 않은 경우 이미지에서 손실 된 정보의 양을 측정하려고합니다.왜곡되지 않은 물고기 눈 이미지와 일반 이미지의 차이점을 찾는 방법은 무엇입니까?

그래서 Matlab에서 다음과 같은 과정을 수행하고 있습니다 (카메라의 시야를 일정하게 유지).

원본 이미지 (핀홀 카메라 유형) -> 피쉬 아이 왜곡 (분할 모델 사용) -> 왜곡 된 이미지의 비선형 왜곡 이미지 (분할 모델의 역함수 사용) - 왜곡되지 않은 이미지를 되돌립니다.

위 절차를 수행 한 후에 imsubtract(Original_Image, Undistorted_image)을 사용하여 두 이미지의 차이점을 얻으려고합니다. 이렇게하면 명확하지 않은 이미지 사이의 픽셀에 약간의 차이가 생깁니다.

내 질문

A) 가 왜곡 물고기 눈 이미지와 원본 이미지 사이에서 손실되는 정보의 양을 찾을 수있는 더 좋은 방법이 있나요이다? b) 위의 시나리오에서 이미지 정보 손실을 측정하는 데 사용할 수있는 또 다른 오류 측정 값이 있습니까?

감사!

+0

내가보고를 제안하며 [''imshowpair'] (https://es.mathworks.com/help/images/ref/imshowpair.html). – codeaviator

+0

'imsubtract' 대신'imabsdiff'를 사용하십시오. – Tes3awy

답변

1

내가 MSE을 적용, 예를 들어 여기에, MATLAB에서 간단하게 구현할 수 많은 오류 조치가 있습니다 (제곱 오차를 의미)와 SNR (신호 대 잡음비) :

% the original image 
A = im2double(imread('cameraman.tif')); 
% the distorted-undistorted image (here just image with noise) 
B = A + randn(size(A))*0.1; 
% difference between images 
D = imsubtract(B,A); % same as B - A 
% error measures 
s = snr(A,D); % snr (in db) 
e = mean(D(:).^2); %mse