%
%  Schwerpunkt eines dunklen Objekts auf hellem Hintergrund, 
%    dunkel = Summe der RGBT-Werte ist kleiner als 100:  
% 
function [x,y] = Schwerpunkt()

   f = uigetfile( '*.bmp', 'Bild wählen' );
   if( f == 0 )
     return; 
   end
   % Bild einlesen 
   A = imread( f );
   
   sz = size( A );
   nZ = sz(1);  nS = sz(2);

   nBody = 0;    % Zahl der Punkte im Körper 
   sumX  = 0;    % Summe der Abstände in x-Richtung 
   sumY  = 0; 
   
   for( z = 1:nZ )
     for( s = 1:nS)
	    % Check ob Farbe nahezu schwarz
        col = sum( int32( A( z, s, : ) ) );
        if( col < 100 )
            nBody = nBody + 1;
            sumX = sumX + s; 
            sumY = sumY + z;             
        end
	 end
   end	 
   
   if( nBody == 0 )
      msgbox( 'Keine Pixel im Körper' );
	  return;
   end 
   
   % SP berechnen 
   x = sumX / nBody;
   y = sumY / nBody;
   % Bild zeichnen 
   image( A )
   axis image
   txt = sprintf('SP: (x,y) = ( %.1f, %.1f )', x, y );
   title( txt )
   
end
