目录
- 原理
- Sobel检测算子
- 方法
- 应用
- Laplacian算子
- Canny边缘检测
- 原理
原理
Sobel检测算子
方法
应用
sobel_x_or_y=cv.Sobel(src,ddepth,dx,dy,dst,ksize,scale,delta,borderType)
import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
img=cv.imread('./汪学长的随堂资料/4/图像操作/cat.jpg',0)
# sobel
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')
# scharr
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算子
laplacian=cv.Laplacian(src,ddepth[,dst[,ksize[,scale[,delta[,borderType]]]]])
res=cv.Laplacian(img,cv.CV_16S)
res=cv.convertScaleAbs(res)
plt.imshow(res,cmap='gray')
Canny边缘检测
原理
canny=cv.Canny(img,threshold1,threshold2)
res=cv.Canny(img,0,100)
plt.imshow(res,cmap='gray')