ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
2232
2232
EMPFEHLEN
-
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
-
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
-
CSS Eigenschaften eines Bildes auslesen
Von YelloW22 im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 20.01.11, 11:51 -
Erzeugen eines Bildes aus einem Bytearray, drehen und speichern
Von Looky im Forum JavaAntworten: 5Letzter Beitrag: 18.02.10, 22:46 -
[C++] Zeilen eines Textfiles in Werte speichern
Von yunses im Forum C/C++Antworten: 2Letzter Beitrag: 04.01.09, 14:22 -
Größe eines Bildes auslesen
Von Captain Subtext im Forum Flash PlattformAntworten: 7Letzter Beitrag: 13.12.07, 16:05 -
C++ Funktion, die die RGB-Werte eines BMP-Bildes zurückliefert
Von Maxxxx26 im Forum C/C++Antworten: 1Letzter Beitrag: 30.06.07, 23:19





Zitieren
Login






