边缘检测(sobel算子)

版权声明:本文为博主原创文章,未经博主允许不得转载O(∩_∩)O https://blog.csdn.net/qq_38153833/article/details/89113482

描述:
索贝尔算子(Sobel operator)主要用作边缘检测,在技术上,它是一离散性差分算子,用来运算图像亮度函数的灰度之近似值。在图像的任何一点使用此算子,将会产生对应的灰度矢量或是其法矢量。(简单一句话就是亮度差找边缘)

算法:
取水平和垂直两个卷积核来分别对图像中各个像素点做卷积运算,先做加权平均然后再微分

简介概括:
RGB(R,G,B)->灰度图 RGB(Gray,Gray,Gray) ->sobel算子计算x,y轴上的梯度再|x-y| ->均值滤波去噪声 ->填充身体空余部分(即所谓的形态学)->去除小斑点(身体外)->cv2.findContours检测有无物体之后,cv2.minAreaRect计算最小面积,cv2.drawContours根据四个点坐标画出框。
在这里插入图片描述在这里插入图片描述_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4MTUzODMz,size_16,color_FFFFFF,t_70)在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述不过会存在一些问题,比如物体靠太近则会只框出一个,如果背景不是黑色或者白色,那么其他鲜艳的颜色也会被标为一个物体。所以最差的结果就是图片太过鲜艳,整张图片都框出来了。个人觉得这个还是不太好,还是用CNN来做目标检测画框比较好。

猜你喜欢

转载自blog.csdn.net/qq_38153833/article/details/89113482