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
原文链接:https://www.stubbornhuang.com/1603/
发布于:2021年08月26日 9:29:18
修改于:2023年06月26日 21:18:22
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论
52