- Labornetzteil AliExpress         
Seite 6 von 21 ErsteErste ... 4567816 ... LetzteLetzte
Ergebnis 51 bis 60 von 207

Thema: Scilab Bildverarbeitung unter windows

  1. #51
    Benutzer Stammmitglied
    Registriert seit
    23.08.2005
    Ort
    Greußen
    Alter
    36
    Beiträge
    82
    Anzeige

    Powerstation Test
    Hallo Stochri,

    hab das gerade ausprobiert aber es geht mal wieder nicht. Bei Scilab kommt die Meldung :"undefined variable : centroid"
    Das verstehe ich aber nicht. Bei dir gehts doch auch. Hast du vielleicht eine andere Sipversion?

    MfG Mike

    P.S.: Nein ich kann leider nicht mit Vektoren rechnen

  2. #52
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    centroid

    ist eine Funktion in meiner library zur Bestimmung eines Flächenschwerpunktes. Du musst sie mit

    exec centroid.sci

    laden.

  3. #53
    Benutzer Stammmitglied
    Registriert seit
    23.08.2005
    Ort
    Greußen
    Alter
    36
    Beiträge
    82
    Achso,
    ich habe jetzt exec centroid.sci gleich in mein Startfile intigriert. Beim erneuten Versuch kam dann die Meldung das drawcross nicht bekannt ist. Das ist ja auch in deiner Lib. Also hab ich es auch in mein Startfile rein getan. Nun kommt die Meldung:

    undefined variable : mogrify

    Also ich hab dann mal nachgesehen und das Wort kommt im dem drawcross file vor. Was nun???

    MfG Mike

  4. #54
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    Ok, in Deiner Version von SIP gibt es kein mogrify.

    Deshalb habe ich Dir eine neue Version von drwacross ohne mogrify gemacht:

    Code:
    function pic_out=drawcross(pic,x,y)
    //
    // draw a cross in a picture
    //
    //
    // v1.1 21.2.2006 stochri
    //
    //
    // Verion History
    //
    // v1.0 using mogrify
    // v1.1 without using mogrify
    
    
    a=4;
    b=30;
    rectangle=ones(b,a);
    
    y1=y-b/2;
    x1=x-a/2;
    
    //pic_out=pic;
    pic(y1:y1+b-1,x1:x1+a-1,1)=rectangle-1;
    pic(y1:y1+b-1,x1:x1+a-1,2)=rectangle-1;
    pic(y1:y1+b-1,x1:x1+a-1,3)=rectangle;
    
    
    
    
    a=30;
    b=4;
    rectangle=ones(b,a);
    
    y1=y-b/2;
    x1=x-a/2;
    
    pic(y1:y1+b-1,x1:x1+a-1,1)=rectangle-1;
    pic(y1:y1+b-1,x1:x1+a-1,2)=rectangle-1;
    pic(y1:y1+b-1,x1:x1+a-1,3)=rectangle;
    
    pic_out=pic;
    
    endfunction
    
    //
    // -------------------------------------------------------------------------
    // This file ist made for scilab the free mathematical toolbox 
    //
    // Copyright (C) 2005  stochri
    //
    // This program is free software; you can redistribute it and/or modify
    // it under the terms of the GNU General Public License as published by
    // the Free Software Foundation; either version 2 of the License, or
    // (at your option) any later version.
    //
    // This program is distributed in the hope that it will be useful,
    // but WITHOUT ANY WARRANTY; without even the implied warranty of
    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    // GNU General Public License for more details.
    //
    // You should have received a copy of the GNU General Public License
    // along with this program; if not, write to the Free Software
    // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    // -------------------------------------------------------------------------
    //

  5. #55
    Benutzer Stammmitglied
    Registriert seit
    23.08.2005
    Ort
    Greußen
    Alter
    36
    Beiträge
    82
    Hi,
    ich habe jetzt das alte drawcrossfile mit dem neuen Inhalt ersetzt. Dann habe ich das wieder ausprobiert und es kommt wieder eine Fehlermeldung;

    Size: 240 rows X 320 columns
    Truecolor Image
    xbasc =

    []=xbasc(win_num)
    xcp =

    0.
    ycp =

    0.
    !--error 21
    invalid index
    at line 80 of function %s_i_hm called by :
    line 23 of function drawcross called by :
    x=drawcross(x,xcp,ycp);
    line 14 of exec file called by :
    suro Programme\scifiles\Testfile');disp('exec done')

    Also bis draw.. geht alles super. Aber das Bild was geladen wird ist immer noch schwarz.
    Ist mir richtig peinlich das ich dir so viel Arbeit mache.

    MfG Mike

  6. #56
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    Ok,
    Du kannst folgende probieren:

    x=imread('test.jpeg');
    y=drawcross(x,100,100);
    imshow(y);

    Die Funktion drawcross zeichnet eigentlich nur ein blaues Kreuz, im obigen Beispiel an die Stelle 100,100.

    xbasc ist eigentlich nur zum Bildschrimlöschen gedacht. Also wen xbasc nicht geht, einfach weglassen.

    Überprüfe mal die Koordinaten, welche die Flächenberechnungsfunktion ausgibt. Ich vremute, dass bei dem Bild was Du verwendet hast, irgendwie falsche Koordinaten rauskommen.

    Hast Du die Funktion von centroid verstanden ?

    Gruss,
    stochri

  7. #57
    Benutzer Stammmitglied
    Registriert seit
    23.08.2005
    Ort
    Greußen
    Alter
    36
    Beiträge
    82
    Hi,
    nein die Funktion habe ich nicht verstanden. Aber wenn ich bei drawcross anstatt (x,ycp,xcp) (x,100,100) oder halt andere Koordinaten, eingebe geht das file. Also dann wird das Kreuz gezeichnet. Also denke ich der Fehler liegt bei der centroid Funktion. Denn Koordinaten gibt die Flächenberechnungsfunktion auch nicht aus. Oder ich weiß nicht wo die ausgegeben werden. Bei scilab steht immer nur:
    xcp =

    0.
    ycp =

    0.

    MfG Mike

  8. #58
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    Die centroid-Funktion berechnet, wie oben schon erwähnt, den Schwerpunkt der weisen Pixel in einem Schwarzweisbild.
    Wenn die Fuktion x und y =0 zurückliefert, sind vermutlich keine weisen Pixel in Deinem Schwarz-Weisbild.
    Das Schwarz-Weisbild des Monitorphotos, welches Du geposted hast, müsste eigentlich gut mit der centroid Funktion funktionieren.
    Du kannst die centroid Funktion mit dem Bild ausprobieren:

    [x y]=centroid(deinschwarzweisbild);

  9. #59
    Benutzer Stammmitglied
    Registriert seit
    23.08.2005
    Ort
    Greußen
    Alter
    36
    Beiträge
    82
    Hallo Stochri,

    Ich habe es jetzt hingekriegt. Es lag an der Helligkeitsanpassung die ging nähmlich nicht.(hab sie einfach weggelassen)Mein file sieht jetzt so aus:

    x=imread('Bild');
    red=x(:,:,1);
    bw=im2bw(red,0.79);
    xset('window',2);
    xbasc
    imshow(bw*240);
    [ycp xcp]=centroid(bw)
    x=drawcross(x,ycp,xcp);
    xset('window',3);
    imshow(x*230);

    und so sieht es dann aus wenn der Stift gefunden ist:

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

  10. #60
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    Super ! Ich bin begeistert !

    Vielleicht kannst Du mal eine rote Fläche auf den ASURO kleben und ausprobieren, ob er an verschiedenen Positionen und unter verschiedenen Beleuchtungsbedingungen korrekt erkannt wird.

    --------------------------------------------------------------------------------------------------------------------------------------------------
    ( warum geht bei mir im post das Smili mit dem Klatschen =D> nicht? weiss das jemand ? )

Seite 6 von 21 ErsteErste ... 4567816 ... LetzteLetzte

Berechtigungen

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

Labornetzteil AliExpress