本教程介绍如何利用Python和OpenCV库寻找覆盖多个指定区域的最小外接矩形,适用于图像处理与计算机视觉任务。
导入了cv2, numpy以及copy库后,对包含多个区域的最小外接矩形进行处理。
代码如下:
```python
import cv2
import numpy as np
image = cv2.imread(./label.png)
B, G, R = cv2.split(image)
ret, thresh = cv2.threshold(G, 128, 255, cv2.THRESH_BINARY)
print(thresh.shape) # 输出阈值图像的形状信息
# 将单通道二值图复制为三通道图像,用于后续处理。
GGG = np.repeat(G[...,np.newaxis], 3, axis=2)
print(GGG.shape)
```
这段代码首先读取了一张图片并将其分解成BGR三个颜色通道。然后对绿色(G)通道进行阈值操作,并将结果存储在`thresh`中,接着打印出该二值图的形状信息。
最后一步是将单通道图像扩展为三通道图像以方便后续处理。通过使用numpy库中的repeat函数实现这一点:首先利用np.newaxis增加一个维度,使得原绿色通道变成二维数组;然后沿轴2(即深度方向)重复3次,从而生成了一个具有相同像素值但有三个颜色通道的新图像`GGG`。最后打印出新图像的形状信息以确认操作成功。
以上就是对给定代码片段进行重写后的版本,确保了逻辑清晰且符合Python编程规范。