边缘检测主要是识别图像中的色彩(亮度)显著变化的的区域,边缘检测的图像要求是单通道的图像。
![在这里插入图片描述](https://img-blog.csdnimg.cn/d024f9214d6e4986826c71c87aa026ec.jpg?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAY3lsMTkw,size_15,color_FFFFFF,t_70,g_se,x_16)
边缘图
img=cv2.imread("../Resources/dog2.jpg")
img_gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
canny=cv2.Canny(img_gray,100,200)
cv2.imshow("canny",canny)
cv2.waitKey(0)
![在这里插入图片描述](https://img-blog.csdnimg.cn/3bc923069bed416e96436ced59f35d5b.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAY3lsMTkw,size_15,color_FFFFFF,t_70,g_se,x_16)
对比下降噪后的边缘图
img=cv2.imread("../Resources/dog2.jpg")
img_gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
img_blur = cv2.blur(img_gray, (4, 4))
canny=cv2.Canny(img_blur,100,200)
cv2.imshow("canny",canny)
cv2.waitKey(0)
![在这里插入图片描述](https://img-blog.csdnimg.cn/da8e92a9e4ba4f21af9eefa586350fa2.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAY3lsMTkw,size_15,color_FFFFFF,t_70,g_se,x_16) 可以看出做过模糊处理后,少了很多边界区域,建议将修改代码中的滤波的Size,通过修改均值滤波的内核大小,可以明显看出边缘线条的变化。也可以多尝试几种滤波方式看看对图像的影响有哪些不一样的地方。
|