python opencv图片根据坐标切图
时间: 2023-09-18 19:04:30 浏览: 363
使用Python与OpenCV库可以很方便地根据给定的坐标参数切割图片。
首先,我们需要导入OpenCV库:
```python
import cv2
```
然后,可以使用cv2.imread()函数读取待切割的图片:
```python
image = cv2.imread("image.jpg")
```
接下来,我们可以根据需要切割的图片区域的坐标参数来切割图片。假设我们要切割的区域左上角的坐标为(x1, y1),右下角的坐标为(x2, y2),那么可以使用以下代码切割图片并将切片保存为新的图片文件:
```python
crop_image = image[y1:y2, x1:x2]
cv2.imwrite("crop_image.jpg", crop_image)
```
在这里,image[y1:y2, x1:x2]表示从原始图片中选取[y1:y2]行和[x1:x2]列的区域,即选取以(x1,y1)和(x2,y2)为对角线的矩形区域。
最后,使用cv2.imwrite()函数将切割好的图片保存为新的文件crop_image.jpg。
总结来说,Python与OpenCV库能够轻松实现根据给定坐标切割图片。我们只需导入库,读取图片,定义切割区域的坐标参数,切割图片并保存即可。
相关问题
python opencv圆形切图
以下是一种基于OpenCV的Python代码,可以实现圆形切图的功能:
```python
import cv2
# 读取原始图像
img = cv2.imread('image.jpg')
# 获取图像中心点坐标和半径大小
height, width, channels = img.shape
center = (int(width/2), int(height/2))
radius = int(min(center[0], center[1]))
# 创建一个与原始图像大小相同的黑色背景
mask = np.zeros((height, width), np.uint8)
# 绘制白色的圆形掩码
cv2.circle(mask, center, radius, (255, 255, 255), -1)
# 将掩码与原始图像进行按位与操作,得到圆形切图
result = cv2.bitwise_and(img, img, mask=mask)
# 显示圆形切图
cv2.imshow("result", result)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这段代码首先读取原始图像,然后获取图像的中心点坐标和半径大小。接着,创建一个与原始图像大小相同的黑色背景,并绘制白色的圆形掩码。最后,将掩码与原始图像进行按位与操作,得到圆形切图。最后显示圆形切图。
阅读全文