opencv--可选颜色物体追踪函数

目录

一、函数介绍

1. cv2.createTrackbar()

2. cv2.getTrackbarPos()

3. bitwise_and()

4.cv2.morphologyEx()

5. cv2.GaussianBlur()


一、函数介绍

1. cv2.createTrackbar()

作用:创建一个滑动条

cv2.createTrackbar(Track_name, img, min, max, TrackbarCallback)

扫描二维码关注公众号,回复: 15381165 查看本文章

- Track_name:滑动条的名字。

- img:滑动条所在画布。

- min:滑动条的最小值。

- max:滑动条的最大值。

- TrackbarCallback:滑动条的回调函数。

2. cv2.getTrackbarPos()

作用:调用回调函数去接收指定滑动条的值。

cv2.getTrackbarPos(Track_name, img)

- Track_name:滑动条的名字。

- img:滑动条所在画布。

函数返回值是滑动条当前所在的位置。

3. bitwise_and()

作用:对二进制数据进行操作,即对图像(灰度图像或彩色图像均可)每个像素值进行二进制操作,1&1=11&0=00&1=00&0=0

bitwise_and(src1, src2, dst=None, mask=None)

参数说明:

 src1src2:为输入图像或标量,标量可以为单个数值或一个四元组

 dst:可选输出变量,如果需要使用非None则要先定义,且其大小与输入变量相同

 mask:图像掩膜,可选参数,为8位单通道的灰度图像,用于指定要更改的输出图像数组的元素,即输出图像像素只有mask对应位置元素不为0的部分才输出,否则该位置像素的所有通道分量都设置为0

返回值为结果图像矩阵,如果dst传入了实参,则返回值与dst对应 实参相同。

4.cv2.morphologyEx()

腐蚀和膨胀是图像形态学运算的基础,将膨胀和腐蚀进行组合就得出开闭运算、梯度、礼帽、黑帽等不同形式的运算:

开运算cv2.MORPH_OPEN:先腐蚀后膨胀--dilate(erode(img))

闭运算cv2.MORPH_CLOSE:先膨胀后腐蚀--erode(dilate(img))

形态学梯度cv2.MORPH_GRADIENT:膨胀图-腐蚀图--dilate(img)-erode(img)

礼帽运算cv2.MORPH_TOPHAT:也叫顶帽运算,原始图像-开运算结果 -- img-open(img)

黑帽运算cv2.MORPH_BLACKHAT: 闭运算结果-原始图像 -- close(img)-img

击中不击中cv2.MORPH_HITMISS: 前景、背景腐蚀运算的交集 -- intersection(erode(img), erode(notimg))

API: cv2.morphologyEx(img, op, kernel, anchor, iterations, borderType)

其中参数op就是上面的几种类型。

参考笔记:

opencv学习笔记(八):图像形态学操作 - 知乎

5. cv2.GaussianBlur()

高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。

cv2.GaussianBlur(src, ksize, sigmaX, sigmaY, borderType)-> dst

——src输入图像。

——dst输出图像的大小和类型与src相同。

——ksize高斯内核大小。 ksize.widthksize.height可以不同,但​​它们都必须为正数和奇数,也可以为零,然后根据sigmaXsigmaY计算得出。

——sigmaX X方向上的高斯核标准偏差。

——sigmaY Y方向上的高斯核标准差;如果sigmaY为零,则将其设置为等于sigmaX;如果两个sigmas为零,则分别从ksize.widthksize.height计算得出;为了完全控制结果,而不管将来可能对所有这些语义进行的修改,建议指定所有ksizesigmaXsigmaY 

猜你喜欢

转载自blog.csdn.net/ChenWenHaoHaoHao/article/details/130116688