Matlab to c

cs_brico07 Messages postés 60 Date d'inscription jeudi 12 avril 2007 Statut Membre Dernière intervention 16 mai 2012 - 26 nov. 2007 à 12:44
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 - 27 nov. 2007 à 20:02
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

victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
27 nov. 2007 à 20:02
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
0
Rejoignez-nous