.net core 读取本地存储的图像作为减法的背景图像

.net core 读取本地存储的图像作为减法的背景图像,.net-core,emgucv,.net Core,Emgucv,我正在使用Emgu.CV并计划使用背景减法。我想做一件相当简单的事情,从本地磁盘读取两个背景图像,并使用其中一个作为背景图像,另一个作为覆盖,以与/mask进行比较 不过,我还没走多远,因为该方法的签名与仅接受文件非常不同。我猜我错过了从文件到IInputArray的一些转换 IBackgroundSubtractor backgroundSubtractor = new BackgroundSubtractorMOG2(); IInputArray inputImage; // how d

我正在使用
Emgu.CV
并计划使用背景减法。我想做一件相当简单的事情,从本地磁盘读取两个背景图像,并使用其中一个作为背景图像,另一个作为覆盖,以与/mask进行比较

不过,我还没走多远,因为该方法的签名与仅接受文件非常不同。我猜我错过了从
文件到
IInputArray的一些转换


IBackgroundSubtractor backgroundSubtractor = new BackgroundSubtractorMOG2();

IInputArray inputImage; // how do I create an instance of an InputArray from a local file?
IOutputArray mask;

backgroundSubtractor.Apply(imputImage, mask);


如何从
C:\\someimage1.png中的文件转换为下面的格式
IInputArray、ioOutputArray

EmguCv提供了从文件加载图像的不同方法(请参见下面的V1和V2)。对于掩码,您只需要定义一个新的Mat对象,当您调用
backgroundSubtractor.Apply(input1,mask)时,它将被自动分配和填充

//V1加载映像
var input1=newmat(@“C:\\someimage1.png”);
//V2加载映像
Mat input2=CvInvoke.Imread(@“C:\\someimage1.png”,ImreadModes.AnyColor);
var mask=新的Mat();
IBackgroundSubtractor backgroundSubtractor=新的BackgroundSubtractorMOG2();
背景减法器。应用(输入1,掩码);

Mat类实现了IIInputArray和IOutputArray。

我会尝试一下,然后再给你回复。虽然这在读取图像方面起到了作用,但我似乎无法以一种合适的方式从另一个图像中减去一个图像(实际上是同一个图像,我只是在其中一个图像上添加了一些东西,我希望减法能抓住它)。你能给我指出正确的方向吗?如果你只是想减去图像,就用这个方法。一般来说,请查看文档,因为它提供了emgucv功能的一个相当大的概述