opencv基础教程(唐宇迪)--02

图像阈值:
在这里插入图片描述
高斯滤波:高斯滤波GaussianBlur
Canny边缘检测:Canny边缘检测

import cv2 as cv
import numpy as np

# 图像阈值
'''
# cv.THRESH_BINARY  黑白二值化
# cv.THRESH_BINARY_INV  黑白二值化反转
# cv.THRESH_TRUNC  大于阈值部分设为阈值,否则不变
# cv.THRESH_TOZERO  大于阈值部分不变,否则设为零
# cv.THRESH_TOZERO_INV  第四种情况的反转

ret, thresh = cv.threshold(img, 127, 255, cv.THRESH_BINARY)  # 二值化,175为阈值,255为最大值
'''

# 平滑处理
'''
# 均值滤波
img1 = cv.blur(img, (3, 3))  # (3,3)为核大小
# 高斯滤波
img2 = cv.GaussianBlur(img, (5, 5), 1)  # (3,3)为核大小,1为高斯核函数在X方向的的标准偏差,越大平滑效果越明显
# 中值滤波
img3 = cv.medianBlur(img, 5)  # 5为核的边长
# 展示所有图片
res = np.hstack((img1, img2, img3))
cv.imshow('imgs', res)
'''

# 腐蚀操作(通常处理二值数据)
'''
kernel = np.ones((3, 3))  # 没有奇数限制
erosion = cv.erode(img, kernel, iterations=1)  # 最后一个参数表示迭代次数
'''

# 膨胀操作(通常处理二值数据)
'''
kernel = np.ones((3, 3))  # 没有奇数限制
erosion = cv.dilate(img, kernel, iterations=1)  # 最后一个参数表示迭代次数
'''

# 开运算(先腐蚀,再膨胀)与闭运算(先膨胀,再腐蚀),梯度运算(梯度=膨胀-腐蚀)
# 梯度运算(梯度=膨胀-腐蚀)  cv.MORPH_GRADIENT
# 礼帽(原始输入-开运算结果)  cv.MORPH_TOPHAT
# 黑帽(闭运算-原始输入)  cv.MORPH_BLACKHAT
'''
kernel = np.ones((3, 3))  # 没有奇数限制
img = cv.morphologyEx(img, cv.MORPH_OPEN, kernel, iterations=1)  # cv.MORPH_OPEN为开运算,cv.MORPH_CLOSE为闭运算
'''

# 梯度计算(灰度和彩色均可)
'''
# laplacian算子(对噪音点敏感,常与其它算法共同使用) 
laplacian = cv.Laplacian(img, cv.CV_64F)  # 没有xy方向上的分离
# sobel算子,Scharr算子(更敏感,捕捉信息更多)
sobelx = cv.Sobel(img, cv.CV_64F, 1, 0, ksize=3)  # X方向上的梯度,此时数值存在正负
sobelx = cv.convertScaleAbs(sobelx)  # 对其进行绝对值操作,否则只能显示出白减黑的梯度
sobely = cv.Sobel(img, cv.CV_64F, 0, 1, ksize=3)  # Y方向上的梯度
sobely = cv.convertScaleAbs(sobely)
sobelxy = cv.addWeighted(sobelx, 0.5, sobely, 0.5, 0)  # 对X、Y方向梯度进行融合,不建议一步完成
'''

# Canny边缘检测:
'''
# 1.使用高斯滤波,平滑图像,消除噪声
# 2.计算图像中每个像素点的梯度强度和方向
# 3.应用非极大值抑制,消除边缘检测带来的杂散影响
# 4.应用双阈值检测来确定真实和潜在的边缘
# 5.通过抑制孤立的弱边缘完成边缘检测
img = cv.Canny(img, 100, 150)  # 两参数为双阈值中min和max,两者越大,则要求越高、细节越少
'''
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值