gpt4 book ai didi

c++ - 如何将opencv mat图像转换为gdi位图

转载 作者:行者123 更新时间:2023-11-28 07:20:25 26 4
gpt4 key购买 nike

我想将 openCV Mat 文件转换为 GDI+ 位图图像。我找不到有关如何执行此操作的任何信息?

我认为没有直接的方法可以做到这一点,但我希望它不涉及将它写入文件并读回(http://opencv-users.1802565.n2.nabble.com/Convert-IplImage-to-Bitmap-td3784378.html)

我需要写这样的东西:

#include <windows.h>
#include <gdiplus.h>
#include <stdio.h>
using namespace Gdiplus;

Bitmap GetBitMap(cv::Mat inputImage)
{
Bitmap bitmap;
// convert inputImage to bitmap??
return bitmap;
}

最佳答案

根据documentation , Bitmap 似乎有一个构造函数采用预分配的内存缓冲区。使用此构造函数,您的函数可能如下所示:

Bitmap GetBitMap(cv::Mat inputImage)
{
cv::Size size = inputImage.size();
Bitmap bitmap(size.width, size.height, inputImage.step1(), PixelFormat24bppRGB, inputImage.data);
return bitmap;
}

请注意,从您的函数返回的 Bitmap 不管理您用来初始化它的内存。因此,请确保图像数据在 Bitmap 的生命周期内保持有效。

关于c++ - 如何将opencv mat图像转换为gdi位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19568158/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com