我有以下代码来裁剪图像的一部分:
import cv2
def on_mouse(event, x, y, flags, param):
if event == cv2.EVENT_LBUTTONDOWN:
print("X: {} | Y: {}".format(x, y))
win_name = "Image"
cv2.namedWindow(win_name)
cv2.setMouseCallback(win_name, on_mouse)
img = cv2.imread('park.jpg')
cropImg = img[179:470, 511:645]
cv2.imshow(win_name, img)
cv2.imshow("Crop", cropImg)
cv2.waitKey(0)
cv2.destroyAllWindows()
在上面的代码中,您可以看到我定义了一个名为
on_mouse
的函数调用,它基本上会在鼠标单击图像的任何位置时提供坐标(x,y)。这有助于获取我们想要裁剪的区域的x1,y1
和x2,y2
坐标。在下面的图像中,我正在尝试裁剪giraffe
区域。因此,我单击了靠近长颈鹿的左上角,这给了我坐标X: 470 | Y: 179
,然后我单击了长颈鹿的右下角,这给了我坐标X: 645 | Y: 511
。在使用它们进行上述代码时,输出如下:
以下是原始图像。
请问有人能帮我理解如何裁剪它,以及这些x1、y1和x2、y2
表示什么?谢谢。