MFC Mat 转 HBitmap,显示不出图片,总是一片黑

zsn_ly 2018-01-04 01:56:25
使用OPENCV处理一幅图片,请问怎么把处理好的图片在转换为bitmap或hbitmap呢
下面代码吧MAT转为 HBITMAP 但是图片不能显示 不知道是什么原因
BOOL CFaceDemoDlg::MatToHBitmap(Mat& _mat, HBITMAP& _hBmp)
{
//MAT类的TYPE=(nChannels-1+ CV_8U)<<3
int nChannels = (_mat.type() >> 3) - CV_8U + 1;
int iSize = _mat.cols*_mat.rows*nChannels;
_hBmp = CreateBitmap(_mat.cols, _mat.rows, 1, nChannels*8, _mat.data);
if (!_hBmp)
{
return FALSE;
}
return TRUE;
}
...全文
686 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tiger波波 2019-07-19
  • 打赏
  • 举报
回复
https://blog.csdn.net/youyingbo/article/details/80688202
子不语四月天 2019-07-18
  • 打赏
  • 举报
回复
我也是在网上搜集的Mat转HBITMAP的代码,然后和你一样显示出一片空白
worldy 2018-01-05
  • 打赏
  • 举报
回复
使用CreateDIBitmap,lpbmi的设置必须和Mat的格式一致
zgl7903 2018-01-04
  • 打赏
  • 举报
回复
建议在 OPENCV 中保存为图片, 在MFC中打开

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧