I followed
this post for converting mat to bitmap.Using opencv 3.1 with visual studio 2013
Bitmap^ thresh_callback(int thresh)
{
cv::Mat canny_output;
vector<vector<cv::Point> > contours;
vector<cv::Vec4i> hierarchy;
/// Detect edges using canny
cv::Canny(src_gray, canny_output, thresh, thresh * 2, 3);
/// Find contours
cv::findContours(canny_output, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, cv::Point(0, 0));
/// Draw contours
//cv::Mat drawing = cv::Mat::zeros(canny_output.size(), CV_8UC3);
cv::Mat drawing = src.clone();
for (int i = 0; i< contours.size(); i++)
{
cv::Scalar color = cv::Scalar(rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255));
drawContours(drawing, contours, i, color, 2, 8, hierarchy, 0, cv::Point());
}
System::IntPtr ptr2(drawing.ptr());
System::Drawing::Bitmap^ b2 = gcnew System::Drawing::Bitmap(drawing.cols,drawing.rows, drawing.step, System::Drawing::Imaging::PixelFormat::Format24bppRgb, ptr2);
/// Show in a window
//cv::namedWindow("Contours", CV_WINDOW_AUTOSIZE);
//cv::imshow("Contours", drawing);
return b2;
}
In
System::Drawing::Bitmap^ b2 = gcnew System::Drawing::Bitmap(drawing.cols,drawing.rows, drawing.step, System::Drawing::Imaging::PixelFormat::Format24bppRgb, ptr2);
/// Show in a window
its giving error: