首页 > 解决方案 > EMGU.CV 两幅图像的相似度百分比

问题描述

我处理 X 射线图像,我想使用 c# 上的 emgu.cv 库获取两个单色图像之间的相似度百分比。附件包含我需要找到相似度百分比的两个图像。

有人帮助我通过机器学习或任何其他方法找到解决方案吗?

在此处输入图像描述

标签: c#machine-learningimage-processingpattern-matchingemgucv

解决方案


EMGU.CV 是 C# 中的相同库,用于 C++ 和 python 中的 openCV

你可以使用匹配模板

在 openCV 中是

Mat image1Img = imread("image1.png", IMREAD_COLOR);
Mat image2Img = imread("image2.png", IMREAD_COLOR);
Mat image3Img = imread("image3.png", IMREAD_COLOR);

Mat scoreImg;
double maxScore;

matchTemplate(image1Img, image2Img, scoreImg, TM_CCOEFF_NORMED);
minMaxLoc(scoreImg, 0, &maxScore);
wxLogMessage(wxString::Format("score <%.2f>", maxScore));

在 C# 中,您可以用作

Image<Gray, Byte> sourceImage = new Image<Gray, Byte>(@"Images/Source.bmp");
Image<Gray, Byte> templateImage = new Image<Gray, Byte>(@"Images/Template.bmp");
Image<Gray, float> resultImage = sourceImage.MatchTemplate(templateImage, Emgu.CV.CvEnum.TM_TYPE.CV_TM_CCOEFF_NORMED);

可以在这里查看详细信息


推荐阅读