如何从资源位图文件中加载图像数据以进行 directshow 过滤器?

Posted

技术标签:

【中文标题】如何从资源位图文件中加载图像数据以进行 directshow 过滤器?【英文标题】:How to load image data from resource bitmap file for directshow filter? 【发布时间】:2010-03-14 08:27:51 【问题描述】:

我需要将一张位图图像放到我的 directshow 过滤器中。然后用户可以使用这个位图图像,而不关心它在哪里。

首先,我将这个位图文件导入到资源包中,得到一个IDB_BITMAP1。

然后,我需要使用 opencv cvLoadImage 或一些 Windows 图像 API 读取此 IDB_BITMAP1 以将此图像加载到缓冲区中。

那么问题是如何做到这一点?

或者这可能吗?

谢谢

【问题讨论】:

【参考方案1】:

我自己从未尝试过,但我相信您可以使用Loadbitmap 和GetBitmapBits 来做到这一点:

HBITMAP hBitmap = LoadBitmap(hInstance,MAKEINTRESOURCE(IDB_BITMAP1));
GetBitmapBits(hBitmap, size, pBits);

【讨论】:

【参考方案2】:

我不知道 OpenCV,但是 Win32 API LoadImage() 也可以从资源中加载。例如:

LoadImage(hInstance, 
          MAKEINTRESOURCE(IDB_BITMAP1),
          IMAGE_BITMAP,
          /*...*/);

【讨论】:

以上是关于如何从资源位图文件中加载图像数据以进行 directshow 过滤器?的主要内容,如果未能解决你的问题,请参考以下文章

当我在我的 android 应用程序中从图库中加载图像时,为啥位图返回较小的图像?

如何在MFC中加载真彩色的图像资源啊

从 jar 中加载图像以用于 Swing HTML

在 Picasso 图像加载器中加载位图图像会减慢列表视图中的滚动速度

如何从图像集合中保存视频文件?

使用加载器在 Flash 10 中加载 .bmp(位图)和 .tiff 文件