Verfasst am: 28.03.2012, 23:27
Titel: Bild einer Gaussmode mit Matlab fitten
Hallo werte Forenmitglieder
Ich bin ein Einsteiger in Matlab. Ich habe jedoch ein Problem, welches ich mit Matlab lösen sollte.
Es geht um die Ausmessung eines Laserstrahles. Ich habe ein Bild (siehe Anhang Laserquerschnitt) und möchte dieses mit einer Gaussglocken kurve fitten. Das Ergebnis stelle ich mir vor wie in Anhang "Gauss.png". Ich wäre froh, wenn mir jemand grob erklären könnte, wie ich da vorgehen muss. Einfach damit ich mich orientieren kann, ich sehe sonst den Wald vor lauter Bäume nicht mehr.
Verfasst am: 05.04.2012, 12:22
Titel: Rückfrage - LSQCURVEFIT only accepts inputs of data type do
Code:
%read the image(grayscale)
I = imread('E:\gauss0g.bmp');
%Image I is nxm matrix
[n,m]=size(I);
%x-y coordinates
[X,Y]=meshgrid(1:n,1:m);
% x= first column
x(:,1)=X(:);
% y= second column
x(:,2)=Y(:);
%data
f = I(:);
%fitfunction(gauss)
%fun = @(c,x)c(1)*exp(-((x(:,1)-c(2)).^2/c(3).^2)+((x(:,2)-c(4)).^2/c(5).^2));
fun = @(c,x) c(1)+c(2)*exp(-((x(:,1)-c(3))/c(4)).^2-((x(:,2)-c(5))/c(6)).^2);
% solve with lsqcurvefit
options=optimset('TolX',1e-6);
c0=[101010101010];%start-guess here
cc=lsqcurvefit(fun,c0,x,f,[],[],options);
%fitted gaussian in vector
Ifit=fun(cc,x);
%gaussian reshaped as matrix
Ifit=reshape(Ifit,[n m]);
surf(X,Y,Ifit)
Fehlermeldung:
??? Error using ==> lsqcurvefit at 191
LSQCURVEFIT only accepts inputs of data type double.
Error in ==> gausslsqf at 19
cc=lsqcurvefit(fun,c0,x,f,[],[],options);
Ich gebe zu die erste Frage war etwas unötig. Doch nun weiss ich wirklich nicht weiter. Die Parameter LSQCURVEFIT - Methode sind în der Richtigen Reihenfolge. Danke für eure Hilfe!
cheers
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.