- Akku Tests und Balkonkraftwerk Speicher         
Seite 5 von 21 ErsteErste ... 3456715 ... LetzteLetzte
Ergebnis 41 bis 50 von 207

Thema: Scilab Bildverarbeitung unter windows

  1. #41
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    Anzeige

    Praxistest und DIY Projekte
    Hallo Mike,
    schau dir doch mal das File auropos.sci an, ob Du den Inhalt verstehst.

    Mit folgendem Codauschnitt kannst Du aus einem Bild die roten Farbanteile in ein scharz/weis Bild umwandeln

    Code:
    x=imread('bild.jpg');
    hsv=rgb2hsv(x);
    hsv(:,:,3)=1;
    r=hsv2rgb(hsv);
    
    red=[1 0 0];
    
    ref=red;
    
    colorerror=sqrt( (r(:,:,1)-ref(1)).^2 + (r(:,:,2)-ref(2)).^2 + (r(:,:,3)-ref(3)).^2)/sqrt(2);
    
    bw=im2bw(colorerror,0.3);
    
    xbasc
    imshow(bw);
    Probiere das doch mal mit meinem urspünglichen Bild aus und dann mit ein paar Bildern von Deiner Kamera.

    Gruss stochri

    Hab mal versucht das file zu posten geht aber nicht.
    P.s. Manche File-Endungen kann man nicht posten. Wenn Du diese Files posten willst, musst Du sie erst als Zip-File verpacken.

  2. #42
    Benutzer Stammmitglied
    Registriert seit
    23.08.2005
    Ort
    Greußen
    Alter
    36
    Beiträge
    82
    Hallo Stochrie,

    1. Ich hab mir das file angeschaut. Und verstehe es so halbwegs. Also der erste Teil bestimmt von wo das Bild geladen werden soll.(in dem Fall von der Webcam)

    2. Der Code Auschnitt funktioniert nicht. Scilab kennt "rgb2hsv" nicht. Ich habe mal im Ordner von Sip nachgesehen und da gibt es nur ein file "rgbntsc". Ich habe dann im Codeauschnitt rgb2hsv durch rgb2ntsc ersetzt. Und in der letzten Zeile imshow(bw*230) eingetragen wegen der Helligkeit. Das geht, jedoch ist das Bild kommplett grau. Nur die Räder von Asuro sind schwarz. Das liegt bestimmt am falschen file. Kannst du mir nicht das rgb2hsv file posten und ich füge es im sip Ordner ein???

    MfG Mike

  3. #43
    Gast
    Hallo Mike,
    Scilab kennt "rgb2hsv" nicht.
    rgb to hsv habe ich dazu benutzt, die Heilligkeit der einzelnen Pixel maximal zu machen und gleichzeitig aber die Farbe konstant zu lassen.
    Was hsv bedeutet, kannst, findest Du hier:
    https://www.roboternetz.de/wissen/in...itung_Tutorial

    Für's erste können wir versuchen, die Helligkeitsanpassung wegzulassen.

    1. Bild laden
    x=imread('bild.jpeg');
    2. rote Farbebene aus Bild herausholen
    rot=x(:,:,1);
    3. Probelweise anschauen
    imshow(rot);
    4. Maximum von Rot ermitteln
    max(rot)
    ist es 1?
    5. Rotwerte in ein Pixelbild über einen Schwellwert umwandeln:
    pixelbild=im2bw(rot,0.99)
    6. Bild anschauen ( es sollten nur die Rotanteile als weise Punkte erscheinen )
    imshow(pixelbild).
    7. Du könntest mal eins Deiner Versuchbilder posten
    8. geht's ?

    Gruss,
    stochri

  4. #44
    Benutzer Stammmitglied
    Registriert seit
    23.08.2005
    Ort
    Greußen
    Alter
    36
    Beiträge
    82
    Hallo Stochrie,
    ich habe zur Zeit wenig Zeit. Mir gehts auch nicht so gut (Kopfschmerzen). Probiere es aber am Samstag gleich aus. Poste dann auch eins meiner Versuchsbilder.
    Danke für deine Hilfe.

    MfG Mike

  5. #45
    Gast
    Gute Besserung !!

    Bis dann, wenn's Dir wieder besser geht.

    Gruss,
    stochrie

  6. #46
    Benutzer Stammmitglied
    Registriert seit
    23.08.2005
    Ort
    Greußen
    Alter
    36
    Beiträge
    82
    Hallo Stochrie,
    ich das jetzt mal probiert. Ich habe ein File mit folgendem Inhalt erstellt:

    x=imread('C:\Dokumente und Einstellungen\Mike1\Eigene Dateien\Asuro Programme\scifiles\pictures\AsuroBallTor.jpeg');
    rot=x(:,:,1);
    imshow(rot);
    max(rot);
    pixelbild=im2bw(rot,0.99);
    imshow(pixelbild*230)


    Ich muss aber trotzdem noch bei pixelbild *230 eingeben sonst ist das Bild schwarz.
    Du sagtes ich soll den max Rotwert ermitteln. Soll ich da bei max(rot); nach rot eine Zahl eingeben z.B. max(rot,1); ?
    Es funktioniert zwar aber nur mit deinem Bild AsuroBallTor, wenn ich ein anderes Bild mit rot nehme dann ist es meißt komplett schwarz, also die Rotanteile werden nicht dargestellt.
    Und noch ein Problem. Wie kann ich bei Scilab ein dargestelltes Bild speichern. Wenn ich auf File gehe und dann auf save speichert es nur ein File und nicht das Bild. Ich habe jetzt das Bild mit der Webcam vom Bildschirm abfotografiert. Hoffe du erkennst was. Also hier wird auch nur das rote Ding links dargestellt aber nicht Asuro aber der ist doch auch rot.

    MfG Mike
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken bild_4.jpg  

  7. #47
    Benutzer Stammmitglied
    Registriert seit
    23.08.2005
    Ort
    Greußen
    Alter
    36
    Beiträge
    82
    Hier noch mal das Original
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken asuroballtor_390.jpeg  

  8. #48
    Benutzer Stammmitglied
    Registriert seit
    23.08.2005
    Ort
    Greußen
    Alter
    36
    Beiträge
    82
    Hallo Stochrie,
    so halbswegs haut es jetzt hin. Ich muss bei anderen Bildern nur den Schwellwert anpassen. Nur mit max(rot) das verstehe ich nicht.
    Wie gehts weiter?

    Gruss,
    Mike

  9. #49
    Benutzer Stammmitglied
    Registriert seit
    23.08.2005
    Ort
    Greußen
    Alter
    36
    Beiträge
    82
    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.

    MfG Mike

  10. #50
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    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.

Seite 5 von 21 ErsteErste ... 3456715 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress