Hallo Stochrie,
ich will mich ja nicht aufdrängeln und dich nerven aber du müsstest mir schon helfen wie es weiter geht. Ohne deine Hilfe kriege ich das nicht hin.
Upps, ich habe gar nicht bemerkt, dass Du wieder geposted hast. Irgendwie ging meine Mailbenachrichtigung nicht mehr.
Nur mit max(rot) das verstehe ich nicht.
Das max(rot) war nicht zum Einbau in die Routine gedacht. Es soll nur dazu dienen, den maximalen Rotwert im Bild zu ermitteln, um danach den Schwellwert einstellen zu können.
Folgendes Codebeispiel entspricht fast der asuropos.sci Funktion. Ich habe die rgb2hsv Funktion weggelassen und einfach eine Helliigkeitsnormierung eingebaut:
betrag=sqrt(x(:,:,1).*x(:,:,1)+x(:,:,2).*x(:,:,2)+ x(:,:,3).*x(:,:,3))+1;
red=x(:,:,1)./betrag;
Code:
x=imread('webcam.jpeg');
betrag=sqrt(x(:,:,1).*x(:,:,1)+x(:,:,2).*x(:,:,2)+x(:,:,3).*x(:,:,3))+1;
red=x(:,:,1)./betrag;
bw=im2bw(red,0.90);
xset('window',2);
xbasc
imshow(bw);
[ycp xcp]=centroid(bw)
x=drawcross(x,xcp,ycp);
xset('window',3);
xbasc
imshow(x);
Die Funktion zeichnet ein blaues Kreuz auf ein gefundenes rotes Objekt. Probiere mal, ob es bei Dir funktioniert.
P.S.:Kannst Du mit Vektoren rechnen ?
Gruss,
stochri
P.s.: mir ist gerade aufgefallen, dass Du Deinen Monitor abfotografiert hast. Normlerweise kann man bei windows mit "strg-druck" eine Graphik in die Zwischenablage kopieren. Danach öffnet man paintbrush und "strg-v" ( einfügen ). Dort kannst Du das Bild berarbeiten und dann abspeichern.
Lesezeichen