我有以下代码来裁剪图片的一部分。
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 and x2, y2
表示什么?谢谢