opencv教程(基于python)----边缘检测

这一节主要讲的是关于图象的边缘检测。先说一下一个基本的概念图象梯度:可以把图象看成关于像素的离散二元函数,所谓梯度其实就是图象的导数。由于图象在边界的像素变化剧烈所以,在导数上格外明显了。

图象梯度

梯度简单来说就是求导,而opencv提供理论三种梯度滤波器:Sobel,Scharr,和Laplacian。
前两个是求一阶或者二阶导数,scharr是对sobel的优化。laplacian是求二阶导数的。

cv2.Sobel(src, ddepth, dx, dy, dst=None, ksize=None, scale=None, delta=None, borderType=None)

src是输入的图像;ddepth是输出图像的深度(数据类型),-1代表和原图像一致,一般为了检测的效果更好,我们把数据类型设置的更高;dx代表是否在x方向求导,0不求,1求;dy同上;剩下的可以不管。

cv2.Laplacian(src, ddepth, dst=None, ksize=None, scale=None, delta=None, borderType=None)

这里的两个参数和上面那个函数的使用一样,我不多说。
来看一下例子。

mport cv2
import numpy as np
import matplotlib.pyplot as plt
img=cv2.imread('C:/Users/dell/Desktop/cos.jpg',0)
laplacian=cv2.Laplacian(img,cv2.CV_64F)
#对图象在x方向求导
sobelx=cv2.Sobel(img,cv2.CV_64F,1,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值