基于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)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
OpenCV-Python 中,可以使用 `resize` 函数来修改图片尺寸。这个函数的语法如下: ```python cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) ``` 其中,参数的含义如下: - `src`:要调整尺寸的图片,可以是 `numpy` 数组或文件路径。 - `dsize`:目标图片大小,可以是一个元组 `(width, height)`,也可以是一个缩放因子 `scaleFactor`,如 `(0.5, 0.5)` 表示将图片缩小一半。 - `dst`:可选参数,目标图片对象,可以是 `None`,表示创建一个新的空数组来存储结果。 - `fx`:可选参数,沿水平轴的缩放因子。 - `fy`:可选参数,沿竖直轴的缩放因子。 - `interpolation`:可选参数,插值方法,有以下选项: - `cv2.INTER_NEAREST`:最近邻插值法。 - `cv2.INTER_LINEAR`:双线性插值法(默认)。 - `cv2.INTER_AREA`:像素区域重采样插值法。 - `cv2.INTER_CUBIC`:双三次插值法。 - `cv2.INTER_LANCZOS4`:Lanczos 插值法。 下面是一个示例代码,将图片缩小一半: ```python import cv2 img = cv2.imread('example.jpg') resized = cv2.resize(img, (0, 0), fx=0.5, fy=0.5, interpolation=cv2.INTER_LINEAR) cv2.imshow('Original Image', img) cv2.imshow('Resized Image', resized) cv2.waitKey(0) cv2.destroyAllWindows() ``` 在这个例子中,`dsize` 参数被设置为 `(0, 0)`,表示输出图片的大小由 `fx` 和 `fy` 参数控制。`fx` 和 `fy` 参数被设置为 `0.5`,表示将图片缩小一半。最后的结果将会在窗口中显示出来。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜月光雾

老板,请我喝杯咖啡吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值