Found a solution (and a new problem) to this. I just post the solution in case anyone check it in the future :) I basically transform the IplImage into Bitmap, and then paint it over a Form element. void IplImageToTBitmap (IplImage* image){ System::Drawing::Bitmap^ bitmap = gcnew Bitmap(image->height,image->width * image->nChannels,System::Drawing::Imaging::PixelFormat::Format24bppRgb); int numberOfLines= image->height; int numberOfColums= image->width ;//* image->nChannels; int step= image->widthStep; unsigned char* data=reinterpret_cast<unsigned char*>(image->imageData); for(int i=0; i<numberOfLines; i++){ for(int j=0; j<numberOfColums; j+= image->nChannels){ bitmap->SetPixel(j/3,i,Color::FromArgb(data[j],data[j+1],data[j+2])); } data+= step; } this->panel2->BackgroundImage = bitmap; } Using the sentence this->panel2->BackgroundImage = bitmap; I manage to write the image to a Panel Object (and definitely every object able to support bitmaps). Now I´m trying to work just with the frames from OpenCV not displaying the video (that means, commenting the line cvNamedWindow( "video", 1 );) Nevertheless, the program gets frozen and I´m not able to use it. I´m thinking about doing some stuff with Threads (using a Thread for OpenCV and a different one for the GUI), but any advice will be welcome :) Regards