如何从中心裁剪OpenCV图像

问题描述 投票:0回答:2

如何从中央使用cv2裁剪图像?

我认为这与这行有关,但是如果有更好的方法,请通知我。

crop_img = img[y:y+h, x:x+w]
python image image-recognition cv2
2个回答
0
投票

您提供的行以(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]

0
投票

只是对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)]

© www.soinside.com 2019 - 2024. All rights reserved.