2017-10-17 4 views
1

J'essaie de superposer 2 images à l'échelle de gris dans Matlab en utilisant la fonction imfuse. Dans la région «chevauchement», je voudrais prendre 50% de l'image A et 50% de l'image B. Ce que je reçois à la place est la somme de A et B dans la région de chevauchement. Ce code démontre:en utilisant imfuse dans les images en niveaux de gris de Matlab à alpha blend

A = 50*ones(100,100); 
A = padarray(A,[50 50],'both'); 
RA = imref2d(size(A)); 

B = 50*ones(100,100); 
B = padarray(B,[100 100],'pre'); 
RB = imref2d(size(B)); 

[C,RC] = imfuse(A,RA,B,RB,'blend'); 

imshow(C,RC,[]); 

enter image description here

est-il un moyen de contrôler les paramètres de mélange pour que je puisse obtenir un mélange 50/50 ??

Répondre

0

Une méthode simple consiste à diviser simplement les zones de chevauchement de 2:

C(A~=0 & B~=0) = C(A~=0 & B~=0)./2; 

Cela ne fonctionne que si nulle marque exclusivement les zones rembourrées. Si une valeur nulle existe dans une image, ces pixels ne seront pas moyennés.