Matlab to c

Signaler
Messages postés
60
Date d'inscription
jeudi 12 avril 2007
Statut
Membre
Dernière intervention
16 mai 2012
-
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
-
bonjour,
Je suis une débutante qui aimerais bien transformer ce code Matlab en c:

mersi de m'aider.

% Auffinden der Maximas in einem Vekor zum bestimmen der Eckpunkte eines
% Vektors
%
% Aufruf: Pos_MSeq(Pict_2D)
%              Vektor_1D = 1D Vektor des Bildes
%         return: Vektor in der Form (x1,y1,x2,y2)
%         (entspricht den start und endpunkten der M-Sequenzen)

function pos = Pos_MSeq(Pict_2D)

  % Mittelwertbildung in 2 Richtungen
  D = size(Pict_2D); %groesse des Bildes in angabe y,x
 
  Pict_2Do = Pict_2D(1:fix(D(1)/2),:); %teilen des bildes in oberen und unteren teil
  Pict_2Du = Pict_2D(fix(D(1)/2)+1:D(1),:);
 
  figure; imagesc(Pict_2Do);

 
  X_Mean = mean(Pict_2Do);
  Y_Mean = mean(Pict_2Do');

  %Bestimmung der Länge des Vektors
  vektor_length_x = length(X_Mean);
  vektor_length_y = length(Y_Mean);
 
  %Halbieren des Bildes in left und right teil zum einfacheren Finden der
  %Maximas
  %Teilen des Vektors in left und right ...in jedem Bereich befindet sich
  %ein Maximum !
  for i = 30:(vektor_length_x/3)
    vektor_1D_half_lo(i) = (X_Mean(i));
    vektor_1D_half_ro(i) = (X_Mean(vektor_length_x - i));
  end
 
  %Teilen des Vektors in oben und unten ...in jedem Bereich befindet sich
  %ein Maximum !
  for i = 30:(vektor_length_y - 1)
    vektor_1D_half_o(i) = (Y_Mean(i));
    vektor_1D_half_u(i) = (Y_Mean(vektor_length_y - i));
  end
 
 
  %Finden des Maximums in der jeweiligen Bildhälfte
  [max_l,id_id1] = max((vektor_1D_half_lo));
  [max_r,id_id2] = max((vektor_1D_half_ro));
  [max_o,id_id3] = max((vektor_1D_half_o));
  [max_u,id_id4] = max((vektor_1D_half_o));
 
  %Anpassung des Indexes, da es sich um die right Bildhälfte handelt
  id_id2 = (vektor_length_x) - id_id2;
  %Anpassung des Indexes, da es sich um die right Bildhälfte handelt
  %id_id4 = (vektor_length_y) - id_id4;
 
 
  %Selbe aktion für Pict_2D_u
 
 
 
 
 
  Pict_2Du = flipud(Pict_2Du);
 
    figure; imagesc(Pict_2Du);
 
  X_Mean = mean(Pict_2Du);
  Y_Mean = mean(Pict_2Du');
 
  %figure; plot(X_Mean);
  %figure; plot(Y_Mean);

  %Bestimmung der Länge des Vektors
  vektor_length_x = length(X_Mean);
  vektor_length_y = length(Y_Mean);
 
  %Halbieren des Bildes in left und right teil zum einfacheren Finden der
  %Maximas
  %Teilen des Vektors in left und right ...in jedem Bereich befindet sich
  %ein Maximum !
  for i = 1:(vektor_length_x/3)
    vektor_1D_half_lo(i) = (X_Mean(i));
    vektor_1D_half_ro(i) = (X_Mean(vektor_length_x - i));
  end
 
  %Teilen des Vektors in oben und unten ...in jedem Bereich befindet sich
  %ein Maximum !
  for i = 1:(vektor_length_y/3)
    vektor_1D_half_o(i) = (Y_Mean(i));
    vektor_1D_half_u(i) = (Y_Mean(vektor_length_y - i));
  end
 
 
  %Finden des Maximums in der jeweiligen Bildhälfte
  [max_l,id_id5] = max((vektor_1D_half_lo));
  [max_r,id_id6] = max((vektor_1D_half_ro));
  [max_o,id_id7] = max((vektor_1D_half_o));
  [max_u,id_id8] = max((vektor_1D_half_o));
 
  %Anpassung des Indexes, da es sich um die right Bildhälfte handelt
  id_id6 = (vektor_length_x) - id_id6;
  id_id7 = (D(1)) - id_id7;
  %Anpassung des Indexes, da es sich um die untere,right Bildhälfte handelt
  %id_id8 = (vektor_length_y) - id_id8;
 
  %HIER IST ETWAS FAUL IM STAATE DAENEMARK!!!!
 
  id_id8 = fix(D(1)) - id_id8;
 
 
 
 
  %Koordinaten:
  pos = [id_id1, id_id3, id_id2, id_id4, id_id5, id_id7, id_id6, id_id8];

  %sortieren der Positionen
  %pos = sort(pos);
 

1 réponse

Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
6
Bonjour,

Je pense pas qu'il existe un convertisseur matlab vers C.
Et ça te servirait à quoi ?
Si tu comprends le Mathlab (c'est pas mon cas) apprend le C.
Sinon l'inverse est possible.

Désolé mais je peux pas t'aider en plus les commentaires sont Allemand (super ).

Merci et bonne prog,
@++

Le créateur du site http://victorlogiciels.com