dayfour

腐蚀作用: 消除物体边界点,使目标 缩小,可以 消除小于结构元素的噪声点
腐蚀函数: cv2.erode()
函数原型:dst=cv2.erode(img,kernel,iterations)
img:要处理的图像
kernel:核结构
iterations:腐蚀的次数,默认是1
 

img_grap = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)  # 灰度处理
img_Blur = cv2.GaussianBlur(img_grap, (5, 5), 1)  # 高斯模糊
img_Canny = cv2.Canny(img_Blur, 160, 180)  # 边缘处理
img_Dial = cv2.dilate((img_Canny), kernel, iterations=1)  # 膨胀处理
img_erode = cv2.erode((img_Dial), kernel, iterations=1)  # 腐蚀处理

想了解高斯模糊是什么的话,可以看wiki百科-高斯模糊。对于一般人,只要知道这个操作可以生成模糊图片就好了,一行代码即可搞定:

import cv2
img = cv2.GaussianBlur(ori_img, (9, 9), 0)
这个函数的第一个参数是原图像,第二个参数是高斯矩阵,要注意长和宽都必须为正奇数,第三个参数是标准差,如果写0,则函数会自行计算

那怎么控制模糊程度呢?很简单,高斯矩阵的尺寸越大,标准差越大,处理过的图像模糊程度越大。当3x3滤波时候有1个像素的边缘没有被处理,5x5滤波的时候有2个像素的边缘没有被处理。

  • BORDER_CONSTANT:使用指定像素值填充边缘;
  • BORDER_REPLICATE:使用已知的像素边缘值填充边缘;
  • BORDER_WRAP:使用另一边的像素值来填充;

Canny边缘检测

dst = cv2.Canny(image, threshold1, threshold2)

  1. image:输入的灰度图
  2. threshold1:minVal,较小的阈值将间断的边缘连接起来。
  3. threshold2:maxVal,较大的阈值检测图像中明显的边缘。  

sobel算子和scharr算子一般先算一个水平梯度,再算一个垂直方向梯度,然后把两个结果按照0.5的权重进行图像融合以得到完整的边界

sobel算子函数
dst = cv2.Sobel(src, ddepth, dx, dy, ksize)
src:输入图像

ddepth:图像深度,通常指定-1,表示输入深度和输出深度相同

dx和dy:代表水平和竖直方向。当dx=1,dy=0,表示对x方向求梯度,y方向不求。

ksize:是sobel算子的大小,指定核的大小,默认为3,卷积核为上图所示。

图像深度是指存储每个像素值所用的位数,如:CV_16S(16位有符号数),CV_16U(16位无符号数),CV_32F(32位浮点数),CV_64F(64位浮点数)

scharr算子函数

cv2.Scharr(src, ddepth, dx, dy, ksize)


Laplacian算子函数

dst = cv2.Laplacian(src, ddepth, ksize)

src为输入图像,

ddepth为图像深度,

ksize为卷积核大小默认为1

img = src.copy() #复制图片

在类的内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数self, 且为第一个参数,self代表的是类的实例。

class Complex:
    def __init__(self, realpart, imagpart): #必须要有一个self参数,
        self.r = realpart
        self.i = imagpart
x = Complex(3.0, -4.5)
print(x.r, x.i)   # 输出结果:3.0 -4.5

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昆工程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值