c#的Bitmap或Image对象如何转换为Emgu.cv.mat类型

shuguodeng 2016-07-29 11:01:21
请问如何将c#的Bitmap或Image对象转换为Emgu.cv.mat类型,谢谢!(QQ:18700104)
...全文
5429 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Corporal 2020-05-30
  • 打赏
  • 举报
回复
Corporal 2020-05-30
  • 打赏
  • 举报
回复
Bitmap转不了啊
yjm919 2016-09-01
  • 打赏
  • 举报
回复
CvInvoke.BitwiseAnd(currentFrame, currentFrame, invert); //这是官网上的方法,变通用。没看到提供其它方法直接转换的。 发现了其属性里的一个用法。Mat Get the Mat header that represent this CvArr (Inherited from CvArray<TDepth>.) 。 invert=currentFrame,Mat。效率应该更高一些,直接将内存里的结构的头部变换一下即可。
yjm919 2016-09-01
  • 打赏
  • 举报
回复
//将资源视图转换为emgu.cn.Mat类型 Image img = Properties.Resources.Form3_PIC_00; //只能是system.drawing.image能读入,Mat和emgu的image读不了 Bitmap bmpImage = new Bitmap(img); //这是关键,国外网站看到的 Emgu.CV.Image<Bgr, Byte> currentFrame = new Emgu.CV.Image<Bgr, Byte>(bmpImage); //只能这么转 Mat invert = new Mat(); CvInvoke.BitwiseAnd(currentFrame, currentFrame, invert); //这是官网上的方法,变通用。没看到提供其它方法直接转换的。 这段代码会让许多人受益的,国外网站也查到这种转换。呵呵。打通了emgu.cv.image向emgu.cn.mat的转换,mat转image的倒是很常见。 3.0推出了Mat,已经不推荐image类了。但是,一些时候,还需要从c#的类型向Mat上转,如上面的C例子,必须通过BitMap转换一下。

111,080

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧