目录
- 原理
- Sobel检测算子
-
- Laplacian算子
- Canny边缘检测
-
原理
![OpenCV图像处理——边缘检测_第1张图片](http://img.e-com-net.com/image/info8/57cd0d00f1f54e14bb1e0bb039eb0ae9.jpg)
![OpenCV图像处理——边缘检测_第2张图片](http://img.e-com-net.com/image/info8/51070495c35c4fc99d1f1831ad200cd3.jpg)
Sobel检测算子
![OpenCV图像处理——边缘检测_第3张图片](http://img.e-com-net.com/image/info8/d5f0e87dc9f4436182755b50711b0e37.jpg)
方法
![OpenCV图像处理——边缘检测_第4张图片](http://img.e-com-net.com/image/info8/9530bb3f216549eb96b99163d8d35487.jpg)
![OpenCV图像处理——边缘检测_第5张图片](http://img.e-com-net.com/image/info8/bb0c1347eeed43149c378920633799ef.jpg)
应用
sobel_x_or_y=cv.Sobel(src,ddepth,dx,dy,dst,ksize,scale,delta,borderType)
![OpenCV图像处理——边缘检测_第6张图片](http://img.e-com-net.com/image/info8/186afe6e351a4e8ba5f1d68cecdc6f60.jpg)
import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
img=cv.imread('./汪学长的随堂资料/4/图像操作/cat.jpg',0)
x=cv.Sobel(img,cv.CV_16S,1,0)
y=cv.Sobel(img,cv.CV_16S,0,1)
absx=cv.convertScaleAbs(x)
absy=cv.convertScaleAbs(y)
res=cv.addWeighted(absx,0.5,absy,0.5,0)
plt.imshow(res,cmap='gray')
x=cv.Sobel(img,cv.CV_16S,1,0,ksize=-1)
y=cv.Sobel(img,cv.CV_16S,0,1,ksize=-1)
absx=cv.convertScaleAbs(x)
absy=cv.convertScaleAbs(y)
res=cv.addWeighted(absx,0.5,absy,0.5,0)
plt.imshow(res,cmap='gray')
Laplacian算子
![OpenCV图像处理——边缘检测_第7张图片](http://img.e-com-net.com/image/info8/7fe1906695b44efb8d6aac30acdd86e0.jpg)
laplacian=cv.Laplacian(src,ddepth[,dst[,ksize[,scale[,delta[,borderType]]]]])
![OpenCV图像处理——边缘检测_第8张图片](http://img.e-com-net.com/image/info8/36f928434fb741a8b1655cecc97454e5.jpg)
res=cv.Laplacian(img,cv.CV_16S)
res=cv.convertScaleAbs(res)
plt.imshow(res,cmap='gray')
Canny边缘检测
![在这里插入图片描述](http://img.e-com-net.com/image/info8/f9fa3794b98a4c0786e15331607370d6.jpg)
原理
![OpenCV图像处理——边缘检测_第9张图片](http://img.e-com-net.com/image/info8/dbbf44b452a84ecdaf6a7ab9bc334ac1.jpg)
![OpenCV图像处理——边缘检测_第10张图片](http://img.e-com-net.com/image/info8/5f2aed5e554441e38aa25a871b532558.jpg)
![OpenCV图像处理——边缘检测_第11张图片](http://img.e-com-net.com/image/info8/6980b2ce83a54b6fa311623cf268ff4f.jpg)
canny=cv.Canny(img,threshold1,threshold2)
![OpenCV图像处理——边缘检测_第12张图片](http://img.e-com-net.com/image/info8/9f7365710e9a40b5bba944f532532c0a.jpg)
res=cv.Canny(img,0,100)
plt.imshow(res,cmap='gray')