将Mat图像显示到MFC PictureControl控件上
来源:互联网 发布:w3school sql 编辑:程序博客网 时间:2024/05/17 05:07
void CCameraTimeDlg::ShowMatImage(Mat& src){ try { if (src.empty())//没有图像时推出 { return; } BITMAPINFO *pBmpInfo1; if(src.channels()== 1)//灰度图像显示 { pBmpInfo1=(BITMAPINFO *)new char[sizeof(BITMAPINFOHEADER)+256*sizeof(RGBQUAD)];////bmp图信息头 pBmpInfo1->bmiHeader.biSize = sizeof(BITMAPINFOHEADER); pBmpInfo1->bmiHeader.biWidth = src.cols;//src_rec.Width(); pBmpInfo1->bmiHeader.biHeight =-src.rows; //-src_rec.Height();//为负值 pBmpInfo1->bmiHeader.biPlanes = 1; pBmpInfo1->bmiHeader.biBitCount = 8;//八位 pBmpInfo1->bmiHeader.biCompression = BI_RGB; pBmpInfo1->bmiHeader.biSizeImage = 0; pBmpInfo1->bmiHeader.biXPelsPerMeter = 0; pBmpInfo1->bmiHeader.biYPelsPerMeter = 0; pBmpInfo1->bmiHeader.biClrUsed = 0; pBmpInfo1->bmiHeader.biClrImportant = 0; for(int i = 0;i<256;i++)//只有灰度图像需要颜色表 { pBmpInfo1->bmiColors[i].rgbBlue = pBmpInfo1->bmiColors[i].rgbGreen = pBmpInfo1->bmiColors[i].rgbRed = (BYTE)i; pBmpInfo1->bmiColors[i].rgbReserved = 0; } } if(src.channels()== 3) { pBmpInfo1=(BITMAPINFO*) new char[sizeof(BITMAPINFOHEADER)]; pBmpInfo1->bmiHeader.biSize = sizeof(BITMAPINFOHEADER); pBmpInfo1->bmiHeader.biWidth = src.cols;//src_rec.Width(); pBmpInfo1->bmiHeader.biHeight =-src.rows; //-src_rec.Height();//为负值 pBmpInfo1->bmiHeader.biPlanes = 1; pBmpInfo1->bmiHeader.biBitCount = 24;//24位 pBmpInfo1->bmiHeader.biCompression = BI_RGB; pBmpInfo1->bmiHeader.biSizeImage = 0; pBmpInfo1->bmiHeader.biXPelsPerMeter = 0; pBmpInfo1->bmiHeader.biYPelsPerMeter = 0; pBmpInfo1->bmiHeader.biClrUsed = 0; pBmpInfo1->bmiHeader.biClrImportant = 0; } HDC h_dc=GetDlgItem(IDC_PIC_Corrected)->GetDC()->GetSafeHdc(); CRect BoxSize; GetDlgItem(IDC_PIC_Corrected)->GetClientRect(&BoxSize); SetStretchBltMode( h_dc, // handle to device context HALFTONE ); int jj=StretchDIBits(h_dc,BoxSize.left,BoxSize.top,BoxSize.Width(),BoxSize.Height(),0,0,src.cols,src.rows,(void *)src.data, (BITMAPINFO*)pBmpInfo1,DIB_RGB_COLORS,SRCCOPY); delete []pBmpInfo1; return; } catch (...) { return; }}
阅读全文
0 0
- 将Mat图像显示到MFC PictureControl控件上
- OPENCV Mat图像在MFC PictureControl显示
- 将Mat图片加载到PictureControl控件中
- MFC—PictureControl控件使用,显示和处理图像
- MFC控件显示Mat图像
- 在MFC图像控件上显示opencv Mat格式图片
- 6行代码将图片显示到MFC图像控件上
- opencv Mat图像显示在MFC控件上,亲测有效。为原作者点赞!
- MFC获得控件大小及在picturecontrol控件上画图
- VS2010-MFC:MFC PictureControl控件上自适应显示图片,分图片失真或者图片不失真两种
- 将Opencv2的Mat类型数据显示到MFC窗口上
- OpenCV中Mat、IplImage格式的图片,显示到MFC中的picture控件上
- 彻底解决显示Opencv中Mat图像到Mfc窗口问题
- VS2013 MFC 直接将 OpenCV2.0/3.0 库中的 Mat 结构的图像传递到 Picture Control(图片控件)
- MFC+opencv 显示mat图像
- SDL图像显示在MFC控件上
- vs2013+opencv Mat图像显示到picture control控件
- halcon 嵌入到MFC图像控件上
- html中出现"wrong attribute value"告警
- elasticsearch多磁盘扩容
- 写一个ORM框架的第一步(Apache Commons DbUtils)
- linux操作数据库命令
- Java中的锁 (2) 底层CAS
- 将Mat图像显示到MFC PictureControl控件上
- Service
- Linux重定向及nohup不输出的方法
- Could not load the Tomcat server configuration at \Servers\Tomcat v8.0 Server at localhost-config
- OkHttp深入理解(5)CallServerInterceptor
- JAX-RS 和 和 Spring 整合开发
- java栈映射表
- powershell的安装使用
- jquery和vue对比(二)