用Python实现通过手动绘制,获得图片中物体的掩膜图片
时间: 2023-02-10 12:25:54 浏览: 124
Python 实现图像的手绘效果
可以使用 OpenCV 库来实现这个功能。首先,你需要将图片载入并转换为灰度图像,这样更容易处理。然后,你可以使用 cv2.threshold() 函数来二值化图像,将像素值大于某个阈值的像素赋值为 255(白色),其余像素赋值为 0(黑色)。然后,你可以使用 cv2.findContours() 函数来查找图像中所有的轮廓。最后,你可以使用 cv2.drawContours() 函数来绘制轮廓,并使用 numpy 库中的数组运算来创建掩膜图像。
例如,下面的代码展示了如何获得图像中的掩膜图像:
```python
import cv2
import numpy as np
# 载入图像并转换为灰度图像
image = cv2.imread('image.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 二值化图像
thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)[1]
# 查找图像中的轮廓
contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 创建掩膜图像
mask = np.zeros_like(image)
# 绘制轮廓
cv2.drawContours(mask, contours, -1, (255, 255, 255), -1)
# 显示结果
cv2.imshow('image', image)
cv2.imshow('mask', mask)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
希望这对你有帮助
阅读全文