tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
2232
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Mahatmas Mahatmas ist offline Mitglied Bronze
    Registriert seit
    Sep 2007
    Beiträge
    47
    Hallo zusammen,

    ich habe ein jpg eingelesen und möchte nun für die RGB-Werte ein int-Wert erhalten.
    Mein Problem liegt darin, dass ich nicht weiß, wie ich an die 3 RGB-Werte eines Bildes rankommen kann.

    Arbeite mit Visul Studio 6 und OpenCV. Es soll eine kleine mfc werden.

    Suche eine Funktion, ähnlich der "cvGetSize()", die ich bereits angewendet habe und mir die Größe des Bildes ausliest.

    Hier mal bereits meine funktionierenden Funktionen:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    
    void CProjektDlg::OnBtnOpen()   // Bild öffnen und Größe auslesen
    {
        CFileDialog fd(TRUE);
        CvSize size;
     
        if( fd.DoModal() == IDOK )
        {
            m_path = fd.GetPathName();
            UpdateData(FALSE);
     
            image = cvLoadImage((const char*)m_path, 1);
            
            if(image)
            {
                cvNamedWindow("KAT",0);
                cvShowImage("KAT",image);
                
                size = cvGetSize( image );  // Größe des eigelesenen Bildes bestimmen
                m_width = size.width;       // Wert der Breite der Variable zuweisen
                m_height = size.height; // Wert der Höhe der Variable zuweisen
                UpdateData(FALSE);
            }
            else MessageBox("Bild konnte nicht geladen werden!");
        }
     
    }
     
    void CProjektDlg::OnBtnSub() // Verdunkeln
    {
        IplImage *grey = NULL;
        CvSize size;
     
        if(image)
        {
            grey = cvCloneImage(image); // Bild geklont
            
            if(grey)
            { 
                size = cvGetSize(grey); // Größe geklonten Bildes einlesen          
                cvRectangle(grey, cvPoint(0,0), cvPoint(size.width,size.height), CV_RGB(10,10,10), -1); // Graubild mit der Größe des Originals erzeugen
                cvmSub(image, grey, image); // Graubild vom Original abziehen und im Original speichern
                cvShowImage("KAT", image);
                cvReleaseImage(&grey);
            }
            else MessageBox("Fehler beim clonen!");
        }
        else MessageBox("Kein Bild geladen!");
     
    }
     
    void CProjektDlg::OnBtnInvert() // Negativ erzeugen
    {
        IplImage *grey = NULL;
        CvSize size;
     
        if(image)
        {
            grey = cvCloneImage(image);
     
            if(grey)
            { 
                size = cvGetSize(grey); // Größe des geklonten Bildes einlesen
                cvRectangle(grey, cvPoint(0,0), cvPoint(size.width,size.height), CV_RGB(255,255,255), -1);
                cvmSub(grey, image, image); // Original vom Weißbild abziehen und im Original speichern
                cvShowImage("KAT", image);
                cvReleaseImage(&grey);
            }
            else MessageBox("Fehler beim clonen!");
        }
        else MessageBox("Kein Bild geladen!");
        
    }
     
    void CProjektDlg::OnBtnRgb()    // RGB-Werte auslesen und als int-Wert ablegen
    {
        IplImage *img = NULL;
        CvSize size;
        int rgb;
     
        if(image)
        {
            [COLOR="Red"]// Was muss ich hier machen?[/COLOR]
        }
        
        else MessageBox("Kein Bild geladen!");
    }

    Vielen Dank schon mal im vorraus...

    Gruß,

    Flo
     

  2. #2
    Avatar von devDevil
    devDevil devDevil ist offline Mitglied Platin
    Registriert seit
    Jun 2005
    Beiträge
    662
    Hmm. Man nehme eine Suchmaschine deiner Wahl, Tippe "OpenCV" ein und suche die dann auftauchende Dokumentation nach accessing image elements ab. Man erhält: http://www.cs.iit.edu/~agam/cs512/le...00000000000000
     

Ähnliche Themen

  1. CSS Eigenschaften eines Bildes auslesen
    Von YelloW22 im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 20.01.11, 11:51
  2. Antworten: 5
    Letzter Beitrag: 18.02.10, 22:46
  3. Antworten: 2
    Letzter Beitrag: 04.01.09, 14:22
  4. Größe eines Bildes auslesen
    Von Captain Subtext im Forum Flash Plattform
    Antworten: 7
    Letzter Beitrag: 13.12.07, 16:05
  5. Antworten: 1
    Letzter Beitrag: 30.06.07, 23:19

Stichworte