函数减法与函数 absdiff
Posted
技术标签:
【中文标题】函数减法与函数 absdiff【英文标题】:Function subtract vs function absdiff 【发布时间】:2016-09-03 12:07:08 【问题描述】:当运行以下代码来查看图片的差异时
using namespace cv;
int main()
Mat image1 = imread("1.bmp");
Mat image2 = imread("2.bmp");
Mat differenceImg1;
Mat differenceImg2;
subtract(image1, image2, differenceImg1);
imshow("subtract", differenceImg1);
absdiff(image1, image2, differenceImg2);
imshow("absdiff", differenceImg2);
waitKey(0);
我得到相同的结果
这两者有区别吗?哪个和什么时候使用更好?
【问题讨论】:
“y=a-b”和“y=abs(a-b)”的区别是一样的。如果“a-b”是正数,结果显然是一样的。 Absdiff 是可交换的,顺便说一句。在第一种情况下,负值可能会被限制为 0,具体取决于数据类型。 可能会有差异,但我不确定是不是绝对差异。 【参考方案1】:如果您subtract
一个图像来自另一个图像,它将给出一个图像,其中仅包含第二个图像比第一个图像具有更高值的区域。
而absdiff
将给出两个图像之间的绝对差异。
【讨论】:
以上是关于函数减法与函数 absdiff的主要内容,如果未能解决你的问题,请参考以下文章