cs_brico07
Messages postés60Date d'inscriptionjeudi 12 avril 2007StatutMembreDernière intervention16 mai 2012
-
26 nov. 2007 à 12:44
victorcoasne
Messages postés1101Date d'inscriptionjeudi 24 avril 2003StatutMembreDernière intervention23 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),:);
%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;
%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;
victorcoasne
Messages postés1101Date d'inscriptionjeudi 24 avril 2003StatutMembreDernière intervention23 juillet 20237 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 ).