目录
一、函数介绍
1. cv2.createTrackbar()
2. cv2.getTrackbarPos()
3. bitwise_and()
4.cv2.morphologyEx()
5. cv2.GaussianBlur()
作用:创建一个滑动条
cv2.createTrackbar(Track_name, img, min, max, TrackbarCallback)
- Track_name:滑动条的名字。
- img:滑动条所在画布。
- min:滑动条的最小值。
- max:滑动条的最大值。
- TrackbarCallback:滑动条的回调函数。
作用:调用回调函数去接收指定滑动条的值。
cv2.getTrackbarPos(Track_name, img)
- Track_name:滑动条的名字。
- img:滑动条所在画布。
函数返回值是滑动条当前所在的位置。
作用:对二进制数据进行“与”操作,即对图像(灰度图像或彩色图像均可)每个像素值进行二进制“与”操作,1&1=1,1&0=0,0&1=0,0&0=0
bitwise_and(src1, src2, dst=None, mask=None)
参数说明:
src1、src2:为输入图像或标量,标量可以为单个数值或一个四元组
dst:可选输出变量,如果需要使用非None则要先定义,且其大小与输入变量相同
mask:图像掩膜,可选参数,为8位单通道的灰度图像,用于指定要更改的输出图像数组的元素,即输出图像像素只有mask对应位置元素不为0的部分才输出,否则该位置像素的所有通道分量都设置为0
返回值为结果图像矩阵,如果dst传入了实参,则返回值与dst对应 实参相同。
腐蚀和膨胀是图像形态学运算的基础,将膨胀和腐蚀进行组合就得出开闭运算、梯度、礼帽、黑帽等不同形式的运算:
开运算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学习笔记(八):图像形态学操作 - 知乎
高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。
cv2.GaussianBlur(src, ksize, sigmaX, sigmaY, borderType)-> dst
——src输入图像。
——dst输出图像的大小和类型与src相同。
——ksize高斯内核大小。 ksize.width和ksize.height可以不同,但它们都必须为正数和奇数,也可以为零,然后根据sigmaX和sigmaY计算得出。
——sigmaX X方向上的高斯核标准偏差。
——sigmaY Y方向上的高斯核标准差;如果sigmaY为零,则将其设置为等于sigmaX;如果两个sigmas为零,则分别从ksize.width和ksize.height计算得出;为了完全控制结果,而不管将来可能对所有这些语义进行的修改,建议指定所有ksize,sigmaX和sigmaY。