opencv python 裁剪图片frame 图片的尺寸是h:1080,w:1920,沿着四个点(0,180)(0,1080),(1920,350),(1920,1080)裁剪
时间: 2023-10-03 13:05:23 浏览: 68
python通过opencv实现批量剪切图片
可以使用OpenCV库来裁剪图片,以下是一个示例代码:
```python
import cv2
# 读取图片
img = cv2.imread('your_image.jpg')
# 定义四个点坐标
pts = [(0, 180), (0, 1080), (1920, 350), (1920, 1080)]
# 构建裁剪区域的掩码
mask = np.zeros(img.shape[:2], dtype=np.uint8)
roi_corners = np.array([pts], dtype=np.int32)
cv2.fillPoly(mask, roi_corners, 255)
# 应用掩码
masked_image = cv2.bitwise_and(img, img, mask=mask)
# 裁剪图片
(y1, x1), (y2, x2) = pts[0], pts[3]
cropped_image = masked_image[y1:y2, x1:x2]
# 显示结果
cv2.imshow("Original Image", img)
cv2.imshow("Masked Image", masked_image)
cv2.imshow("Cropped Image", cropped_image)
cv2.waitKey(0)
```
在代码中,首先读取图片,然后定义四个点的坐标。接着,我们构建了一个掩码,该掩码将裁剪区域内的像素保留下来,其余的像素则被置为0。然后,我们将掩码应用到原始图像上,得到一个掩码图像。最后,我们根据掩码图像裁剪出了需要的部分,并显示了结果。
阅读全文