函数减法与函数 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的主要内容,如果未能解决你的问题,请参考以下文章

UFT函数调用-根据两个数进行加法和减法运算

C函数使用加法和减法获取数组的所有总和

“时钟算术”/全等数学中的一个加法/减法函数?

Oracle 的加减法函数

Oracle 的加减法函数

Excel 2007减法得数变成了5E-05怎么办?