Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将位图转换为图像<;Bgr,字节>;_C#_.net_Opencv - Fatal编程技术网

C# 如何将位图转换为图像<;Bgr,字节>;

C# 如何将位图转换为图像<;Bgr,字节>;,c#,.net,opencv,C#,.net,Opencv,我正在使用OpenCV库进行图像处理 我想将系统.Drawing.Bitmap转换为图像。如何执行此操作?图像构造函数有一个位图重载(假设您正在使用Emgu CV包装器,因为您已将其标记为.NET) Image myImage=新图像(myBitmap); 需要关注的人: 您应该将依赖项dll添加到项目中,并将Emgu\emgucv windows universal cuda 2.9.0.1922\bin\x86中的“复制到输出目录”属性更改为“始终复制”(添加->现有项) 在我的项目中添加:

我正在使用OpenCV库进行图像处理


我想将
系统.Drawing.Bitmap
转换为
图像
。如何执行此操作?

图像构造函数有一个
位图
重载(假设您正在使用Emgu CV包装器,因为您已将其标记为
.NET

Image myImage=新图像(myBitmap);
需要关注的人: 您应该将依赖项dll添加到项目中,并将Emgu\emgucv windows universal cuda 2.9.0.1922\bin\x86中的“复制到输出目录”属性更改为“始终复制”(添加->现有项)

在我的项目中添加:opencv_core290.dll、opencv_highgui290.dll、opencv_ffmpeg290.dll、opencv_imageproc290.dll和cudart32_55.dll


from:

图像的构造函数不再接受位图作为参数。对于Emgu版本4.3,我必须使用以下代码:

Image emguImage=bitmap.ToImage();

我在github和补丁笔记中找到了它。官方文档教程没有正确更新。

我使用的是Emgu 4.3.0.3890,我遇到了与我的团队集成代码相同的问题。 给我带来麻烦的是:

Image<Bgr, byte> img = bitmap.ToImage<Bgr, byte>();
Image img=bitmap.ToImage();
我没有看到构建创建了两个名为x86和x64的新目录。 当我发现它时,我将这两个目录添加到二进制文件的位置,一切都正常。
我没有时间去看这些目录中的哪一个文件对它负责,但嘿,它起了作用。:-)

在.NET
Emgu.CV 4.4.0.4099
中,我必须安装
Emgu.CV.Bitmap 4.4.0.4099
Emgu.CV.runtime.windows
才能使用
Bitmap.ToImage()
扩展方法。

我在NetStandard 2.1上使用Emgu.CV 4.5.1.4349 需要安装Emgu.CV.Bitmap和Emgu.CV.runtime.windows才能将位图转换为图像


var myImage=myBitmap.ToImage()

错误:“Emgu.CV.CvInvoke”的类型初始值设定项引发了异常。请尝试此处描述的步骤。谢谢,这正是我想要的。尤其是当我浏览到他们的文档页面时,他们的文档页面会出现异常。。。
Image<Bgr, byte> img = bitmap.ToImage<Bgr, byte>();