【发布时间】:2017-09-18 15:53:15
【问题描述】:
我正在使用 C# 进行编码,我需要帮助了解两个图像之间的差异。我正在使用 emgu 来帮助我完成这部分工作。这里的问题是,只要像素中有差异,它就会显示在结果图片中。
但是,我需要的是,如果 RefImg 的像素高于 CompImg,则颜色应为红色,如果低于则应为绿色。
代码也应该花费最少的时间来执行。
下面的代码是我现在使用的。
Image<Bgr, Byte> RefImg = new Image<Bgr, Byte>(new Bitmap(refImg));
Image<Bgr, Byte> CompImg = new Image<Bgr, Byte>(new Bitmap(compImg));
Image<Bgr, Byte> Difference; //Difference
double Threshold = 5;
Difference = RefImg.AbsDiff(CompImg);
Difference = Difference.ThresholdBinary(new Bgr(Threshold, Threshold, Threshold), new Bgr(0, 255, 0));
【问题讨论】: