如何根据图像阈值分割生成掩膜
时间: 2024-05-16 13:14:02 浏览: 17
图像阈值分割是将图像分成两个部分的技术,即将图像中像素值大于或小于某个阈值的像素分成两类。生成掩膜是将阈值分割后的图像转换成二值图像,其中只有像素值大于阈值的像素为白色(值为255),其余像素为黑色(值为0)。
以下是使用Python中的OpenCV库进行图像阈值分割和生成掩膜的示例代码:
```python
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 阈值分割
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
# 生成掩膜
mask = cv2.bitwise_not(thresh)
# 显示原始图像和掩膜
cv2.imshow('Original', img)
cv2.imshow('Mask', mask)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的代码中,首先读取图像,然后将图像转换为灰度图像并进行阈值分割。可以使用cv2.threshold()函数来执行阈值分割,其中第一个参数是输入图像,第二个参数是阈值,第三个参数是最大值,第四个参数是阈值类型。在这里,我们选择了THRESH_BINARY类型,它将图像中大于阈值的像素设置为最大值(255),而将小于阈值的像素设置为0。然后,我们使用cv2.bitwise_not()函数将阈值分割后的图像转换为二值图像,其中白色像素值为255,黑色像素值为0。
最后,我们使用cv2.imshow()函数显示原始图像和生成的掩膜。您可以使用cv2.imwrite()函数将生成的掩膜保存为图像文件,以便以后使用。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)