将RGB图像转化为二值图
时间: 2023-10-06 09:11:41 浏览: 128
将 RGB 图像转换为二值图像,可以通过以下步骤实现:
1. 将 RGB 图像转换为灰度图像,可以使用 cvtColor 函数。
```python
gray = cv2.cvtColor(rgb, cv2.COLOR_BGR2GRAY)
```
2. 对灰度图像进行二值化处理,可以使用 threshold 函数。
```python
ret, binary = cv2.threshold(gray, thresh, maxval, threshold_type)
```
其中,thresh 表示二值化的阈值,maxval 表示像素值超过阈值时的最大值,threshold_type 表示二值化的类型,常用的有 THRESH_BINARY 和 THRESH_BINARY_INV。
完整的代码示例:
```python
import cv2
# 读取 RGB 图像
rgb = cv2.imread("image.jpg")
# 将 RGB 图像转换为灰度图像
gray = cv2.cvtColor(rgb, cv2.COLOR_BGR2GRAY)
# 对灰度图像进行二值化处理
thresh = 127
maxval = 255
threshold_type = cv2.THRESH_BINARY
ret, binary = cv2.threshold(gray, thresh, maxval, threshold_type)
# 显示结果
cv2.imshow("RGB", rgb)
cv2.imshow("Binary", binary)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这段代码会读取一张名为 "image.jpg" 的 RGB 图像,将其转换为灰度图像,然后对灰度图像进行二值化处理,并显示结果。
阅读全文