import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.sans-serif'] = ['SimHei']
D:\Anaconda\AZWZ\lib\site-packages\numpy\_distributor_init.py:30: UserWarning: loaded more than 1 DLL from .libs:
D:\Anaconda\AZWZ\lib\site-packages\numpy\.libs\libopenblas.NOIJJG62EMASZI6NYURL6JBKM4EVBGM7.gfortran-win_amd64.dll
D:\Anaconda\AZWZ\lib\site-packages\numpy\.libs\libopenblas.WCDJNK7YVMPZQ2ME2ZZHJJRJ3JIKNDB7.gfortran-win_amd64.dll
warnings.warn("loaded more than 1 DLL from .libs:\n%s" %
horse = cv.imread('img/horse.jpg',0)
plt.imshow(horse,cmap=plt.cm.gray)
<matplotlib.image.AxesImage at 0x250bbe3df40>
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T7RzGbTo-1637755113594)(output_2_1.png)]](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a4f0428cc66b4e388056c02f0c59b860~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp)
1.Sobel算子
x = cv.Sobel(horse,cv.CV_16S,1,0)
y = cv.Sobel(horse,cv.CV_16S,0,1)
absx = cv.convertScaleAbs(x)
absy = cv.convertScaleAbs(y)
res = cv.addWeighted(absx,0.5,absy,0.5,0)
plt.figure(figsize=(20,20))
plt.subplot(1,2,1)
m1 = plt.imshow(horse,cmap=plt.cm.gray)
plt.title("原图")
plt.subplot(1,2,2)
m2 = plt.imshow(res,cmap=plt.cm.gray)
plt.title("Sobel算子边缘检测")
Text(0.5, 1.0, 'Sobel算子边缘检测')
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hj9GVokJ-1637755113596)(output_7_1.png)]](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/8897b7f7ede54afd8f302d80adbf5bab~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp)
2.Schaar算子(更能体现细节)
x = cv.Sobel(horse,cv.CV_16S,1,0,ksize=-1)
y = cv.Sobel(horse,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.figure(figsize=(20,20))
plt.subplot(1,2,1)
m1 = plt.imshow(horse,cmap=plt.cm.gray)
plt.title("原图")
plt.subplot(1,2,2)
m2 = plt.imshow(res,cmap=plt.cm.gray)
plt.title("Schaar算子边缘检测")
Text(0.5, 1.0, 'Schaar算子边缘检测')
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D26XH6CW-1637755113599)(output_12_1.png)]](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6b23211879454e9b9ddc351c951f0003~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp)
3.Laplacian算子(基于零穿越的,二阶导数的0值点)
res = cv.Laplacian(horse,cv.CV_16S)
res = cv.convertScaleAbs(res)
plt.figure(figsize=(20,20))
plt.subplot(1,2,1)
m1 = plt.imshow(horse,cmap=plt.cm.gray)
plt.title("原图")
plt.subplot(1,2,2)
m2 = plt.imshow(res,cmap=plt.cm.gray)
plt.title("Laplacian算子边缘检测")
Text(0.5, 1.0, 'Laplacian算子边缘检测')
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-spEwImoO-1637755113601)(output_16_1.png)]](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/971d54102fb34ff9858afef51cee48bf~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp)
4.Canny边缘检测(被认为是最优的边缘检测算法)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VCP9zrpA-1637755113602)(attachment:image.png)]](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/25751815f2d24c5f931f21ac66e5827e~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R3V9O73Z-1637755113602)(attachment:image.png)]](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/4f42e7576bc64e0fa7348d31a0dc9a21~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QQmi4wtJ-1637755113603)(attachment:image.png)]](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/95d13cfcf6224bb88c4e03875ebb3b3c~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ay19A8o4-1637755113604)(attachment:image.png)]](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/03868d2d9bd247b88c831a474a5b5255~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WgsEMQk6-1637755113604)(attachment:image.png)]](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d52314307aa44b85b7da23a5d5559617~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp)
res = cv.Canny(horse,0,100)
plt.figure(figsize=(20,20))
plt.subplot(1,2,1)
m1 = plt.imshow(horse,cmap=plt.cm.gray)
plt.title("原图")
plt.subplot(1,2,2)
m2 = plt.imshow(res,cmap=plt.cm.gray)
plt.title("Canny边缘检测")
Text(0.5, 1.0, 'Canny边缘检测')
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bs90zQAN-1637755113606)(output_25_1.png)]](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/f7dd60f7c43648d7900bc0d965fbe1a9~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp)
总结
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nGU6wpuZ-1637755113606)(attachment:image.png)]](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/9c6744e2264144398e3b1fe56cd0ecdc~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9J9SLAnz-1637755113607)(attachment:image.png)]](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e09a3887dbf447b2b77cc87b92d6c1fb~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp)