Как создать растровое изображение RGB с помощью Visual C ++? - PullRequest
1 голос
/ 07 марта 2011

Мне было дано задание для создания растрового изображения RGB при условии, что заданы значения конфигурации.

И мне сказали использовать Visual C ++ вместе с opencv для создания изображения.

Поскольку я новичок в Visual C ++ и OpenCV, как использовать эти инструменты для создания растрового изображения? Могу ли я использовать какой-нибудь учебник?

1 Ответ

1 голос
/ 16 марта 2011

Это действительно широкий вопрос, потому что я понятия не имею, откуда берутся данные вашего изображения.Вы читаете данные других изображений и сохраняете их в растровое изображение?Вы это как-то трансформируете?Если нет, вы просто программно заполняете пиксели (т.е. создаете растровое изображение, заполненное определенным цветом).Я на минуту предположу, что это последний случай.

// 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 под windows менее тривиальна.Там есть много учебных пособий, поэтому я уверен, что вы можете понять это.Я надеюсь, что это полезно.

...