opencv——图像边缘检测(中)Scharr、Laplacian算子

本文介绍了OpenCV中用于图像边缘检测的Scharr和Laplacian算子,详细讲解了它们的原理及应用,并通过实例展示了2D卷积的过程。
摘要由CSDN通过智能技术生成

1、Schaar

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
Scharr算子是高斯平滑与微分操作的结合体,所以它具有很好的抗噪声能力。
"""
import cv2 as cv
import numpy as np

'''
添加椒盐噪声
prob:噪声比例
'''


def sp_noise(image, prob):
    output = np.zeros(image.shape, np.uint8)
    thres = 1 - prob
    for i in range(image.shape[0]):
        for j in range(image.shape[1]):
            rdn = np.random.random()
            if rdn < prob:
                output[i][j] = 0
            elif rdn > thres:
                output[i][j] = 255
            else:
                output[i][j] = image[i][j]
    return output


img = cv.imread('./sudoku.jpg', 0)
# img = sp_noise(img, 0.009)


# 参数 1,0 为只在 x 方向求一 导数 最大可以求 2 导数。
Scharrx = cv.Scharr(img, cv.CV_64F, 1, 0)
# 参数 0,1 为只在 y 方向求一 导数 最大可以求 2 导数。
Scharry = cv.Scharr(img, cv.CV_64F, 0, 1)

# 求绝对值
Scharrx = cv.convertScaleAbs(Scharrx)
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值