如何获取鸡蛋图像集中每一个鸡蛋的子图像,请写出一段代码
时间: 2023-04-09 11:01:54 浏览: 127
穷举法解题:一筐鸡蛋,一个一个拿
以下是 Python 代码示例:
```python
import cv2
# 读取鸡蛋图像
img = cv2.imread('eggs.jpg')
# 转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 二值化处理
ret, thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)
# 查找轮廓
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 遍历每个轮廓
for i, contour in enumerate(contours):
# 获取轮廓的外接矩形
x, y, w, h = cv2.boundingRect(contour)
# 提取鸡蛋子图像
egg = img[y:y+h, x:x+w]
# 保存子图像
cv2.imwrite('egg{}.jpg'.format(i+1), egg)
```
这段代码使用 OpenCV 库实现了鸡蛋图像集中每一个鸡蛋的子图像提取。首先读取图像,然后将其转换为灰度图像并进行二值化处理。接着使用 `cv2.findContours` 函数查找轮廓,并遍历每个轮廓,提取鸡蛋子图像并保存。
阅读全文