经过研究,这是我得到的:
这是我的方法:
- 在每侧填充原始图像(在我的情况下为500像素)
- 找到鞋子的四个角点(这四个点应形成包围鞋子的多边形,但不必是确切的矩形)
使用此处的代码裁剪鞋子:
img = cv2.imread(“padded_shoe.jpg”)
four corner points for padded shoecnt = np.array([
[[313, 794]],
[[727, 384]],
[[1604, 1022]],
[[1304, 1444]]
])
print(“shape of cnt: {}”.format(cnt.shape))
rect = cv2.minAreaRect(cnt)
print(“rect: {}”.format(rect))box = cv2.boxPoints(rect)
box = np.int0(box)
width = int(rect[1][0])
height = int(rect[1][1])src_pts = box.astype(“float32”)
dst_pts = np.array([[0, height-1],
[0, 0],
[width-1, 0],
[width-1, height-1]], dtype=”float32”)
M = cv2.getPerspectiveTransform(src_pts, dst_pts)
warped = cv2.warpPerspective(img, M, (width, height))
干杯,希望对您有所帮助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)