使用opencv分别显示原图像的灰度图像(图2)和二值图像(图3,其中阈值取190,阈值类型为TOZERO_INV)
时间: 2024-09-26 16:03:07 浏览: 22
在OpenCV中,将彩色图像转换为灰度图像和创建二值图像非常简单。首先,我们加载原始BGR图像,然后分别对它进行处理。
1. **灰度图像**:
可以使用`cv2.cvtColor()`函数将BGR图像转换成灰度图像。这里是一个例子:
```python
import cv2
import numpy as np
# 读取BGR图像
img_BGR = cv2.imread('image.jpg')
# 转换为灰度图像
gray_img = cv2.cvtColor(img_BGR, cv2.COLOR_BGR2GRAY)
# 显示灰度图像
cv2.imshow('Gray Image', gray_img)
```
2. **二值图像**:
创建二值图像通常涉及阈值操作,这里是使用`cv2.threshold()`函数,并指定阈值为190,类型为`cv2.THRESH_BINARY_INV`(这意味着小于阈值的像素变为白色,大于等于阈值的像素变为黑色)。注意`THRESH_TOZERO_INV`是另一种二值化选项,但这里指定了`THRESH_BINARY_INV`。
```python
_, binary_img = cv2.threshold(gray_img, 190, 255, cv2.THRESH_BINARY_INV)
# 显示二值图像
cv2.imshow('Binary Image', binary_img)
```
在这段代码中,`_, binary_img`表示只关心结果二值图像,`_`是一个占位符,不会显示这部分的结果。