05 Priwitt 算子


前言

04Sobel算子中可以看到,Sobel算子的特点是它的边缘很厚,也就是说它的抗干扰能力不咋地。Priwitt算子就是在其基础上变得更加抗干扰了。


一、Priwitt是什么?

在这里插入图片描述

二、进行验证

这部分的卷积什么的就不再赘述,可以拿前面的文章作参考。

1.仿真结果

代码如下(示例):

import numpy as np

import img_filter2D


def my_roberts(img):
    h,w = img.shape[:2]
    G = np.zeros((img.shape[0], img.shape[1]), dtype=np.float32)
    #sobel
    dx = np.array([[-1,0,1],[-2,0,2],[-1,0,1]])
    dy = np.array([[-1, -2, -1], [0, 0, 0], [1, 2, 1]])
    #priwwi
    dx1 = np.array([[-1, 0, 1], [-1, 0, 1], [-1, 0, 1]])
    dy1 = np.array([[-1, -1, -1], [0, 0, 0], [1, 1, 1]])
    Gx = abs(img_filter2D.my_filter2D(img,dx1))
    Gy = abs(img_filter2D.my_filter2D(img,dy1))
    G = Gx+Gy
    new_img = np.clip(G, 0, 255).astype(np.uint8)
    Gx = np.clip(Gx, 0, 255).astype(np.uint8)
    Gy = np.clip(Gy, 0, 255).astype(np.uint8)
    return Gx,Gy,new_img

在这里插入图片描述


可以看到效果比Sobel要好。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值