如何从中心裁剪 OpenCV 图像
How to crop OpenCV Image from center
如何使用 cv2 从中心裁剪图像?
我觉得跟这行有关系,如果有更好的办法请告知
crop_img = img[y:y+h, x:x+w]
您提供的线条裁剪了位于 (x,y) 且宽度和高度为 (w,h) 的图像区域。不确定这是否在图像中心附近。
要围绕中心裁剪 (w,h) 区域,您必须执行以下操作:
center = image.shape / 2
x = center[1] - w/2
y = center[0] - h/2
只有那时
crop_img = img[y:y+h, x:x+w]
只是对 Lenik 的答案的附加评论(这是我第一次想在 Whosebug 中做出贡献并且没有足够的声誉来评论答案),您需要确保 x 和 y 是整数。
在这种情况下,x 和 y 可能始终是整数,因为大多数分辨率都是偶数,但最好将值保存在 int() 中。
center = image.shape / 2
x = center[1] - w/2
y = center[0] - h/2
crop_img = img[int(y):int(y+h), int(x):int(x+w)]
如何使用 cv2 从中心裁剪图像?
我觉得跟这行有关系,如果有更好的办法请告知
crop_img = img[y:y+h, x:x+w]
您提供的线条裁剪了位于 (x,y) 且宽度和高度为 (w,h) 的图像区域。不确定这是否在图像中心附近。
要围绕中心裁剪 (w,h) 区域,您必须执行以下操作:
center = image.shape / 2
x = center[1] - w/2
y = center[0] - h/2
只有那时
crop_img = img[y:y+h, x:x+w]
只是对 Lenik 的答案的附加评论(这是我第一次想在 Whosebug 中做出贡献并且没有足够的声誉来评论答案),您需要确保 x 和 y 是整数。
在这种情况下,x 和 y 可能始终是整数,因为大多数分辨率都是偶数,但最好将值保存在 int() 中。
center = image.shape / 2
x = center[1] - w/2
y = center[0] - h/2
crop_img = img[int(y):int(y+h), int(x):int(x+w)]