介绍
本文的目的在于实现图片中的目标物体裁剪,代码亲测的,挺好用的,不需要手动裁剪图片啦。
具体代码详见:https://download.youkuaiyun.com/download/woniuhuihui/12034891
代码环境为:opencv3+python
step1:读入图片,并将图片转成灰度图
image = cv2.imread("./photo49.jpg")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
step2:用Sobel算子计算x,y方向上的梯度,之后在x方向上减去y方向上的梯度,通过这个减法,我们留下具有高水平梯度和低垂直梯度的图像区域。
gradX = cv2.Sobel(gray, ddepth=cv2.CV_64F, dx=1, dy=0, ksize=-1)
gradY = cv2.Sobel(gray, ddepth=cv2.CV_64F, dx=0, dy=1, ksize=-1)
gradient = cv2.subtract(gradX, gradY)
gradient = cv2.convertScaleAbs(gradient)