使用emgucv测量两个图像的差异

问题描述 投票:2回答:1

我需要比较两个图像,并以百分比的形式识别它们之间的差异。 emgucv上的“ Absdiff”功能对此无济于事。我已经在emgucv Wiki上完成了该比较示例。我真正想要的是如何获取数字格式的两个图像差异?

//emgucv wiki compare example

//acquire the frame
Frame = capture.RetrieveBgrFrame(); //aquire a frame
 Difference = Previous_Frame.AbsDiff(Frame);
//what i want is
double differenceValue=Previous_Frame."SOMETHING";

如果您需要更多详细信息,请询问。预先感谢。

c# image-processing compare emgucv
1个回答
0
投票
Bitmap inputMap = //bitmap  source image
Image<Gray, Byte> sourceImage = new Image<Gray, Byte>(inputMap);

Bitmap tempBitmap = //Bitmap template image
Image<Gray, Byte> templateImage = new Image<Gray, Byte>(tempBitmap);

Image<Gray, float> resultImage = sourceImage.MatchTemplate(templateImage, Emgu.CV.CvEnum.TemplateMatchingType.CcoeffNormed);

double[] minValues, maxValues;
Point[] minLocations, maxLocations;
resultImage.MinMax(out minValues, out maxValues, out minLocations, out maxLocations);

double percentage = maxValues[0] * 100; //this will be percentage of difference of two images
© www.soinside.com 2019 - 2024. All rights reserved.