# Opencv: RGB -> Graustufenbild (c++ visual 2008)



## asdasfsdfdsf (7. Oktober 2011)

hi Leute, 
ich bin gerade dabei opencv zu lernen. ich habe ein bild geladen und möchte dieses nun in ein graustufenbild "umwandeln". ich versuche durch anlegen eines neuen Mat objektes mit dem Farbkanal "CV_8UC1" ein graustufenbild zu erzeugen. Jedoch ist das bild immernoch bunt. ich habe in der doc noch die Methode "cvtColor()" color gefunden jedoch gibt das immer eine fehlermeldung. Wo liegt denn mein Fehler? vielen dank für eure Hilfe im voraus!


```
#include <iostream> 
#include <opencv2/opencv.hpp> 
using namespace cv; 
using namespace std;

int main( int argc, char** argv ) 
{ 
	// leeres Image erzeugen 
	Mat img(240,320,CV_8UC3); 

	// Bild laden 
	img = imread("C:\\Users\\Public\\Pictures\\Sample Pictures\\Tulips.jpg");  
   
        //Fenster erstellen und bild ausgeben
	namedWindow("img");
	imshow("img",img);

	//Graustufenbild
	Mat imgGrau(240,320,CV_8UC1);
	imgGrau = imread("C:\\Users\\Public\\Pictures\\Sample Pictures\\Tulips.jpg");
	
        //Fenster erstellen und bild ausgeben
	namedWindow("imgGrau");
	imshow("imgGrau",imgGrau);

	// auf Tastatureingabe warten 
	waitKey(0); 
	return 0;

	
}
```


----------



## derpfaff (10. Oktober 2011)

Hallo,

handelt es sich bei den Tulpen um ein Farbbild oder Graustufenbild?
Es gibt jedenfalls die Funktion cvConvertImage(), mit welcher ein Farbbild in ein Graustufenbild umgewandelt werden kann. Zumindest gab es die Funktion in ältern OpenCV-Versionen...

Vielleicht hilft das ja...
Gruß
derpfaff


----------

