基于Python的OpenCV函数----absdiff(src1, src2[, dst])【计算两个数组之间或数组与标量之间每个元素的绝对差】

函数名称

absdiff(src1, src2[, dst]) -> dst

摘要

计算两个数组之间或数组与标量之间每个元素的绝对差。

描述

功能cv::absdiff计算:
----当两个数组具有相同的大小和类型时,它们之间的绝对差异:
\f[\texttt{dst}(I) = \texttt{saturate} (| \texttt{src1}(I) - \texttt{src2}(I)|)\f]
----数组和标量之间的绝对差异,当第二个数组是由标量构造的,或有与’ src1 '中的通道数量相同的元素:
\f[\texttt{dst}(I) = \texttt{saturate} (| \texttt{src1}(I) - \texttt{src2} |)\f]
----当第一个数组是由标量构造的,或者有与“src2”中通道数量相同的元素时,标量和数组之间的绝对差值:
\f[\texttt{dst}(I) = \texttt{saturate} (| \texttt{src1} - \texttt{src2}(I) |)\f]
其中I是数组元素的多维索引。对于多通道阵列,每个通道都是独立处理的。

注意:当阵列具有深度CV_32S时,不应用饱和。在溢出的情况下,甚至可能得到一个负值。

参数说明

src1:第一个输入数组或标量。
src2:第二个输入数组或标量。
dst:与输入数组具有相同大小和类型的输出数组。

使用方法

    import cv2
    #读取原图片
    src_image1 = cv2.imread("../images/num/src01.jpg")
    src_image2 = cv2.imread("../images/num/src02.jpg")
    cv2.imshow("src_image1", src_image1)
    cv2.imshow("src_image2", src_image2)

    #将图片转换成灰度图
    gray_image1 = cv2.cvtColor(src_image1, cv2.COLOR_BGR2GRAY)
    gray_image2 = cv2.cvtColor(src_image2, cv2.COLOR_BGR2GRAY)
    cv2.imshow("gray_image1", gray_image1)
    cv2.imshow("gray_image2", gray_image2)

    #检测差值
    gray_image3 = cv2.absdiff(gray_image1,gray_image2)
    cv2.imshow("gray_image3", gray_image3)
posted @ 2020-08-22 14:22  夜月光雾  阅读(336)  评论(0编辑  收藏  举报