Introduction
This tip/trick will be useful to OpenCV programmers, who wish to use Windows Form application under Visual C++. This tip helps programmers to use Windows function with OpenCV library. The following tip shows how to assigniplimage
and mat variable to picturebox image.
Assign Iplimage to Picturebox Image
In this part, it shows how to assign iplimage
to picturebox image. First of all, declare the frame pointer. Iplimage
type.
Declare Iplimage
variable:
IplImage* frame;
Here. Create new Bitmap
image from frame properties like width
, height
, widthstep
. Set image data from frameimagedata
.
Process the PictureBox
.
pictureBox1->Image = gcnew System::Drawing::Bitmap
(frame->width,frame->height,frame->widthStep,
System::Drawing::Imaging::PixelFormat::Format24bppRgb,(System::IntPtr) frame->imageData);
pictureBox1->Refresh();
Assign Mat to Picturebox Image
In this part, it shows how to assign Mat to picturebox
image. First of all, declare the frameDetected
variable, Mat
type.
Declare Mat
variable.
Mat frameDetected;
Here. Create graphics of picturebox
. Then create new Bitmap image from frameDetected
properties like cols, rows, step. Then create Rectangle
with x
and y
with 0
value and width
and height
with picturebox height
,width
respectively. Then rectangle assign to previous initialized graphics object.
Process the PictureBox
:
System::Drawing::Graphics^ graphics2 = pictureBox3->CreateGraphics();
System::IntPtr ptr2(frameDetected.ptr());
System::Drawing::Bitmap^ b2 = gcnew System::Drawing::Bitmap(frameDetected.cols,
frameDetected.rows,frameDetected.step,System::Drawing::Imaging::PixelFormat::Format24bppRgb,ptr2);
System::Drawing::RectangleF rect2(0,0, pictureBox3->Width,pictureBox3->Height);
graphics2->DrawImage(b2,rect2);
Points of Interest
- Learn how to assign
iplimage
topicturebox
image - Learn how to assign
Mat
topicturebox
image
References
Sorry
Sorry for my English. If you notice errors or can suggest a more correct version, please let me know.