2011-03-07 80 views
1

如果給出了配置值,我已經給出了創建RGB位圖圖像的任務。如何使用Visual C++創建RGB位圖?

我被告知使用visual C++和opencv一起創建圖像。

因爲我是新的visual c + +和OpenCV,如何使用這些工具來創建位圖?有什麼教程可以使用嗎?

+0

你已經知道如何編寫C++程序嗎? – 2011-03-07 09:08:49

回答

1

這是一個非常廣泛的問題,因爲我不知道您的圖像數據來自哪裏。你在閱讀其他圖像數據並將其保存到位圖?你有沒有改變它?如果沒有,是否只是在編程中填充像素(即創建一個填充了特定顏色的位圖)。我會假設一分鐘後者就是這樣。

// Create an empty 3 channel (RGB) image 
IplImage* img = cvCreateImage(cvSize(640,480), IPL_DEPTH_8U, 3); 

// Iterate over all of the rows of the image 
for(int y = 0; y < 480; ++y) 
{ 
    // Iterate over all of the columns of each row 
    for(int x = 0; x < 640; ++x) 
    { 
     // Set each pixel to solid red 
     ((uchar *)(img->imageData + y*img->widthStep))[x*img->nChannels + 0] = 0; // B 
     ((uchar *)(img->imageData + y*img->widthStep))[x*img->nChannels + 1] = 0; // G 
     ((uchar *)(img->imageData + y*img->widthStep))[x*img->nChannels + 2] = 255; // R 
    } 
}  

// Save the image data as a bitmap  
cvSaveImage("ImAfraidICantLetYouDoThatDave.bmp", img); 

// Clean up our memory 
cvReleaseImage(&img); 

我根據這一切在上可用的代碼:

http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/opencv-intro.html

因爲你是新來的Visual Studio,一個公平的警告:越來越OpenCV的窗戶下設立小於微不足道。雖然有很多教程,所以我相信你可以弄明白。我希望這是有幫助的。