import cv2 # 读取图像 img = cv2.imread("transparent_image.png", cv2.IMREAD_UNCHANGED) # 提取 alpha 通道 alpha = img[:, :, 3] # 找到 alpha 通道不为 0 的像素点的坐标 points = cv2.findNonZero(alpha) # 计算外接矩形 rect = cv2.boundingRect(points) # 在图像上绘制矩形 cv2.rectangle(img, (rect[0], rect[1]), (rect[0]+rect[2], rect[1]+rect[3]), (0, 0, 255), 2) # 显示图像 cv2.imshow("image", img) cv2.waitKey(0) cv2.destroyAllWindows()保存提取的矩形图像
时间: 2024-03-11 21:50:55 浏览: 59
要保存提取的矩形图像,只需要在绘制矩形后添加一行代码即可:
```python
# 保存提取的矩形图像
cv2.imwrite("rect_image.png", img)
```
这里将提取的矩形图像保存为名为`rect_image.png`的PNG格式文件。完整代码如下:
```python
import cv2
# 读取图像
img = cv2.imread("transparent_image.png", cv2.IMREAD_UNCHANGED)
# 提取 alpha 通道
alpha = img[:, :, 3]
# 找到 alpha 通道不为 0 的像素点的坐标
points = cv2.findNonZero(alpha)
# 计算外接矩形
rect = cv2.boundingRect(points)
# 在图像上绘制矩形
cv2.rectangle(img, (rect[0], rect[1]), (rect[0]+rect[2], rect[1]+rect[3]), (0, 0, 255), 2)
# 保存提取的矩形图像
cv2.imwrite("rect_image.png", img)
# 显示图像
cv2.imshow("image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文