1 将OpenCV Mat转换Gdi+ Bitmap

最近需要在桌面程序中将OpenCV的摄像头画面显示到Windows窗口上,看了之前他们的方式都是使用老版的使用IplImage的CvvImage类,或者是使用修改过的使用Mat的CvvImage类,这种方式只适合单独的将摄像头画面显示在窗口上,但是如果需要在视频画面上叠加显示前景图片的话,这种方式不支持透明度叠加。

如果能够使用Gdi+的话,可以在绘制视频画面的基础上同时在视频画面上通过透明度混合显示半透明的前景图片,这里的关键的第一步是将Opencv的Mat转换为Gdi+的Bitmap。

具体的转换代码如下:

// 将opencv的mat转为Gdiplus的Bitmap
cv::Mat cameraFrame_copy_new;
cv::cvtColor(cameraFrame_copy, cameraFrame_copy_new, CV_BGR2BGRA);
Gdiplus::Bitmap bitmap(cameraFrame_copy_new.cols, cameraFrame_copy_new.rows, cameraFrame_copy_new.step1(), PixelFormat32bppRGB, cameraFrame_copy_new.data);

参考链接:

如果您觉得对您有帮助,可以请站长喝一杯咖啡哦!

记得在赞赏备注里写上您的昵称

您可在本站资助名单中查看你的打赏记录哦!

支付宝扫一扫

微信扫一扫

金额随意,礼清义重

当前分类随机文章推荐

全站随机文章推荐

关于本站站长 StubbornHuang
Gdi+ – 将OpenCV Mat转换为Gdi+ Bitmap-StubbornHuang Blog纵使晴明无雨色,入云深处亦沾衣。