2014-09-20 4 views
0

강도 불균일성에 대한 질문이 있습니다. 나는 평균 필터를 기반으로 강도의 비균질성을 계산할 수있는 방법을 정의했다 : enter image description herematlab에 의한 평균 필터를 기반으로 강도 불균일성을 계산하는 방법

내 문제는, 이미지 I (아래 코드) 및 r = 3 인 평균 필터가 있음을 알 수 있습니다. 수식 (17)을 기반으로 이미지 변환 J를 계산하고 싶습니다. matlab 코드로 구현하도록 도와 주시겠습니까? 정말 고맙습니다.

이 내 코드

%Create image I 
I=[3 5 5 2 0 0 6 13 1 
0 3 7 5 0 0 2 8 6 
4 5 5 4 2 1 3 5 9 
17 10 3 1 3 7 9 9 0 
7 25 0 0 5 0 10 13 2 
111 105 25 19 13 11 11 8 0 
103 105 15 26 0 12 2 6 0 
234 238 144 140 51 44 7 8 8 
231 227 150 146 43 50 8 16 9 
]; 
%% Create filter AF 
size=3; % scale parameter in Average kernel 
AF=fspecial('average',[size,size]); % Average kernel 
%%How to calculate CN and J 
CN=mean(I(:));%Correct? 
J=??? 

답변

1

당신은 아주 가까이있어입니다! 평균 강도는 정확하게 계산됩니다. 여기

코드입니다 :

clc 
clear 

%Create image I 
I=[3 5 5 2 0 0 6 13 1 
0 3 7 5 0 0 2 8 6 
4 5 5 4 2 1 3 5 9 
17 10 3 1 3 7 9 9 0 
7 25 0 0 5 0 10 13 2 
111 105 25 19 13 11 11 8 0 
103 105 15 26 0 12 2 6 0 
234 238 144 140 51 44 7 8 8 
231 227 150 146 43 50 8 16 9 
]; 

% Create filter AF 
size=3; % scale parameter in Average kernel 
AF=fspecial('average',[size,size]); % Average kernel 

%%How to calculate CN and J 
CN=mean(I(:)); % This is correct 

J = (CN*I)./imfilter(I,AF); % Apply the filter to the image 

figure; 

subplot(1,2,1) 
image(I) 

subplot(1,2,2) 
image(J) 

다음과 같은 결과 :

enter image description here

+0

+ 투표 한 당신이 J를 계산하기 위해 누락 모든 이미지에 fspecial 정의 필터를 적용입니다 좋은 대답. 그러나 AF 필터의 정의를 보도록하겠습니다. AF = imfilter (Img, fspecial ('disk', sigma), 'conv', 'replicate'); – user3051460

+1

도와 줘서 정말 기쁩니다! 네, 필터가 맞습니다. –

관련 문제