一、图像阈值:
ret,dst = cv2.treshold(scr,thresh,maxval,type)
返回值 | 描述 |
---|---|
ret | 阈值 |
dst | 输出图片 |
参数 | 描述 |
---|---|
scr | 输入图像(只能是单通道图像) |
thresh | 阈值 |
maxval | 最大值 |
type | 返回类型 |
对于 type,我们展开描述:
type | 描述 |
---|---|
cv2.THRESH_BINARY | 超过阈值部分取 maxval,其余取 0 |
cv2.THRESH_BINARY_INV | 超过阈值部分取 0,其余取 maxval |
cv2.THRESH_TOZERO | 超过阈值部分不变,其余取 0 |
cv2.THRESH_TOZERO_INV | 超过阈值部分取 0,其余不变 |
cv2.THRESH_TRUNC | 超过阈值部分取阈值,其余不变 |
二、图像平滑处理:
均值滤波:
blur = cv2.blur(img,(n,n))
给出一个大小为 n × n 的滤波器,与图像矩阵对位相乘再求平均值。
高斯滤波:
gaussian = cv2.GaussianBlur(img,(n,n),1)
给出一个大小为 n × n 的滤波器,离中心越近的元素权重越大,与图像矩阵对位相乘再求平均值。
中值滤波:
median = cv2.medianBlur(img,n)
给出一个大小为 n × n 的滤波器,取元素中值作为所求。
形态学——腐蚀操作:
erosion = cv2.erode(img,kernel,iteration=n)
形态学——膨胀操作:
dilate = cv2.dilate(img,kernel,iteration=n)
开运算:
开运算先进行腐蚀,再进行膨胀。
opening = cv2.morphologyEx(img,cv2.MOROH_OPEN,kernel)
闭运算:
闭运算先进行膨胀,再进行腐蚀。
closing = cv2.morphologyEx(img,cv2.MOROH_CLOSE,kernel)
梯度运算:
用膨胀后的图像减腐蚀后的图像,得到图像的边界。
gradient = cv2.morphologyEx(img,cv2.MOROH_GRADIENT,kernel)
顶帽:
原始输入-开运算结果(保留糟粕)
tophat = cv2.morphologyEx(img,cv2.MORPH_TOPHAT,kernel)
黑帽:
闭运算结果-原始输入
blackphat = cv2.morphologyEx(img,cv2.MORPH_BLACKHAT,kernel)