OpenCvSharp bitmap转mat
时间: 2023-09-12 14:10:33 浏览: 163
C# Bitmap转为Mat
你可以使用以下代码将 Bitmap 转换为 Mat:
```csharp
using OpenCvSharp;
// 将 Bitmap 转换为 Mat
public static Mat BitmapToMat(Bitmap bitmap)
{
Mat mat = new Mat(bitmap.Height, bitmap.Width, MatType.CV_8UC4);
BitmapData bmpData = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.ReadOnly, bitmap.PixelFormat);
try
{
mat = new Mat(bitmap.Height, bitmap.Width, MatType.CV_8UC4, bmpData.Scan0);
}
finally
{
bitmap.UnlockBits(bmpData);
}
return mat;
}
```
注意:此代码仅限于将 32 位 per pixel(即 ARGB)的 Bitmap 转换为 Mat。如果 Bitmap 的像素格式不同,则需要根据实际情况进行修改。
阅读全文