如何从中央使用cv2裁剪图像?
我认为这与这行有关,但是如果有更好的方法,请通知我。
crop_img = img[y:y+h, x:x+w]
您提供的行以(w,h)的宽度和高度裁剪位于(x,y)的图像区域。不知道这是否在图像中心附近。
要裁剪中心附近的(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的答案的另一条注释(这是我第一次想为StackOverflow做出贡献,并且没有足够的声誉来注释答案),您需要确保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)]