0

如何将从 C# 加载的 Bitmap 对象传递给 C++ 本机代码,实际上我正在包装一些要从 C# 使用的 OpenCV API 但我在从 c# 传递位图并在 c++ 上重建它时遇到了问题

任何代码或想法将不胜感激

4

3 回答 3

1

您可以使用该LockBits方法将Bitmap像素锁定在内存中,并使用 P/Invoke 调用将指向第一个像素的指针、尺寸和步幅传递给 C++。

概述LockBitshttps ://web.archive.org/web/20141229164101/http://bobpowell.net/lockingbits.aspx

在本机代码完成图像处理后,您可以使用UnlockBits.

于 2012-11-28T12:28:26.820 回答
0

如果您有一个 .NET Bitmap 对象,您可以使用函数GetHBitmap()来获取指向可从非托管代码访问的图像的指针。

于 2012-11-28T12:30:00.617 回答
0

您可以使用EmguCV而不是实现自己的包装器。

于 2014-01-17T09:29:10.977 回答