opencv 扣绿 源码
时间: 2023-10-17 15:15:25 浏览: 107
以下是使用OpenCV实现的扣绿代码:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('image.jpg')
# 提取绿色通道
green_channel = img[:, :, 1]
# 阈值分割
_, binary = cv2.threshold(green_channel, 100, 255, cv2.THRESH_BINARY)
# 查找轮廓
contours, _ = cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 绘制轮廓
mask = np.zeros_like(img)
cv2.drawContours(mask, contours, -1, (255, 255, 255), -1)
# 提取绿色部分
dst = cv2.bitwise_and(img, mask)
# 显示结果
cv2.imshow('Original', img)
cv2.imshow('Mask', mask)
cv2.imshow('Result', dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
首先,我们读取输入图像并提取其绿色通道。然后使用阈值分割将绿色部分二值化为白色。接下来,我们查找轮廓并使用白色轮廓绘制一个掩膜。最后,我们将掩膜应用于原始图像并提取绿色部分。
该方法对于绿色背景和绿色物体都有效。如果您需要处理其他颜色的背景或物体,则可以通过更改提取的通道和阈值来进行调整。
阅读全文