用python实现图像上截取斜正方形区域
时间: 2023-09-22 22:05:58 浏览: 104
这个示例实现截取指定区域的图片
4星 · 用户满意度95%
以下是使用Python和OpenCV库实现图像上截取斜正方形区域的示例代码:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('image.jpg')
# 定义四个点,构成斜正方形
pts = np.array([[100, 100], [200, 50], [300, 200], [200, 250]], np.int32)
# 创建掩膜
mask = np.zeros(img.shape[:2], np.uint8)
cv2.drawContours(mask, [pts], -1, (255, 255, 255), -1, cv2.LINE_AA)
# 应用掩膜
result = cv2.bitwise_and(img, img, mask=mask)
# 显示结果
cv2.imshow('Original', img)
cv2.imshow('Result', result)
cv2.waitKey(0)
```
在上面的示例代码中,我们首先读取了一张图像,然后定义了四个点,这些点构成了一个斜正方形。接下来,我们创建了一个掩膜(mask),并使用cv2.drawContours函数将斜正方形绘制在掩膜上。然后,我们使用cv2.bitwise_and函数将掩膜应用到原始图像上,得到了截取斜正方形区域后的图像。最后,我们使用cv2.imshow函数显示原始图像和结果图像。
注意:在实际情况中,我们可能需要调整代码中的四个点的坐标,以便截取我们需要的区域。
阅读全文