图像常用操作笔记

通道分割

基本操作

模糊(过滤噪音)

边缘检测

sobel

  • scipy.ndimage
from scipy.ndimage.filters import sobel
def sobel_edge(img):
    """
    提取sobel边界
    :param img:
    :return:
    """
    imx = np.zeros(img.shape)
    imy = np.zeros(img.shape)
    sobel(img, 0, imx)
    sobel(img, 1, imy)
    magnitude = np.sqrt(imx ** 2 + imy ** 2)
    return magnitude
  • opencv
src = cv.GaussianBlur(src, (3, 3), 0)
gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)
grad_x = cv.Sobel(gray, ddepth, 1, 0, ksize=3, scale=scale, delta=delta, borderType=cv.BORDER_DEFAULT)
# Gradient-Y
# grad_y = cv.Scharr(gray,ddepth,0,1)
grad_y = cv.Sobel(gray, ddepth, 0, 1, ksize=3, scale=scale, delta=delta, borderType=cv.BORDER_DEFAULT)
abs_grad_x = cv.convertScaleAbs(grad_x)
abs_grad_y = cv.convertScaleAbs(grad_y)
grad = cv.addWeighted(abs_grad_x, 0.5, abs_grad_y, 0.5, 0)

laplace

# Since our input is CV_8U we define ddepth = CV_16S to avoid overflow
ddepth = cv.CV_16S
# Apply Laplace function
dst = cv.Laplacian(src_gray, ddepth, kernel_size)

canny

ratio = 3
detected_edges = cv.Canny(img_blur, low_threshold, low_threshold*ratio, kernel_size)

阈值分割

形态学处理

轮廓检测

角点检测

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值