如何使用OpenCV从图像中心裁剪图像?
我认为这个操作与以下代码有关,如果有更好的方法,请告诉我。
crop_img = img[y:y+h, x:x+w]
如何使用OpenCV从图像中心裁剪图像?
我认为这个操作与以下代码有关,如果有更好的方法,请告诉我。
crop_img = img[y:y+h, x:x+w]
对于Lenik的回答,我有一个额外的评论(这是我第一次想在StackOverflow上做出贡献,没有足够的声望来评论),你需要确保x和y是整数。
在这种情况下,x和y很可能总是整数,因为大多数解都是偶数,但最好将值保留在int()内。
center = image.shape
x = center[1]/2 - w/2
y = center[0]/2 - h/2
crop_img = img[int(y):int(y+h), int(x):int(x+w)]
w/2
和h/2
上使用int
可能是值得的,但你也可以使用地板除法符号//
。 - RedKniteint()
,但有些情况确实需要。 - Christoph Rackwitzcenter = image.shape / 2
x = center[1] - w/2
y = center[0] - h/2
仅在这种情况下
crop_img = img[y:y+h, x:x+w]