簡體   English   中英

如何將OpenCV Mat圖像轉換為GDI位圖

[英]How to convert an opencv mat image to gdi bitmap

我想將openCV Mat文件轉換為GDI + BitMap圖像。 我找不到有關如何執行此操作的任何信息?

我認為沒有這樣做的直接方法,但是我希望它不會涉及將其寫入文件並回讀( 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;
}

根據文檔顯示, 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 因此,請確保在Bitmap的生命周期內保持圖像數據處於活動狀態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM