python OpenCV 灰度图转为二值图,然后转换为三通道
时间: 2024-02-27 20:54:09 浏览: 173
可以使用OpenCV的threshold函数将灰度图转为二值图,再使用cvtColor函数将二值图转为三通道的黑白图。具体实现代码如下:
```python
import cv2
# 读入灰度图
gray_img = cv2.imread('gray_image.jpg', cv2.IMREAD_GRAYSCALE)
# 将灰度图转为二值图
_, binary_img = cv2.threshold(gray_img, 127, 255, cv2.THRESH_BINARY)
# 将二值图转为三通道的黑白图
bw_img = cv2.cvtColor(binary_img, cv2.COLOR_GRAY2BGR)
# 显示图像
cv2.imshow('Gray Image', gray_img)
cv2.imshow('Binary Image', binary_img)
cv2.imshow('BW Image', bw_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,`cv2.threshold`函数用于将灰度图转为二值图,`cv2.cvtColor`函数用于将二值图转为三通道的黑白图,`cv2.imshow`函数用于显示图像,`cv2.waitKey`和`cv2.destroyAllWindows`函数用于等待按键输入和关闭窗口。
相关问题
OpenCV python 将图片转为灰度图,然后二值化,之后将二值图转换为三通道
可以使用OpenCV的cvtColor函数将图片转为灰度图,使用threshold函数将灰度图二值化,最后使用cvtColor函数将二值图转为三通道。具体实现代码如下:
```python
import cv2
# 读入图片
img = cv2.imread('image.jpg')
# 将图片转为灰度图
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 将灰度图二值化
_, binary_img = cv2.threshold(gray_img, 127, 255, cv2.THRESH_BINARY)
# 将二值图转为三通道的黑白图
bw_img = cv2.cvtColor(binary_img, cv2.COLOR_GRAY2BGR)
# 显示图像
cv2.imshow('Image', img)
cv2.imshow('Gray Image', gray_img)
cv2.imshow('Binary Image', binary_img)
cv2.imshow('BW Image', bw_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,`cv2.imread`函数用于读入图像,`cv2.cvtColor`函数用于将图像转为灰度图或三通道彩色图,`cv2.threshold`函数用于将灰度图二值化,`cv2.imshow`函数用于显示图像,`cv2.waitKey`和`cv2.destroyAllWindows`函数用于等待按键输入和关闭窗口。
python OpenCV 二值图转换为灰度图或三通道彩色图
可以使用OpenCV的cvtColor函数将二值图转为灰度图或三通道彩色图。具体实现代码如下:
```python
import cv2
# 读入二值图
binary_img = cv2.imread('binary_image.jpg', cv2.IMREAD_GRAYSCALE)
# 将二值图转为灰度图
gray_img = cv2.cvtColor(binary_img, cv2.COLOR_GRAY2BGR)
# 将二值图转为三通道的彩色图
color_img = cv2.cvtColor(binary_img, cv2.COLOR_GRAY2RGB)
# 显示图像
cv2.imshow('Binary Image', binary_img)
cv2.imshow('Gray Image', gray_img)
cv2.imshow('Color Image', color_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,`cv2.imread`函数用于读入二值图像,`cv2.cvtColor`函数用于将二值图转为灰度图或三通道彩色图,`cv2.imshow`函数用于显示图像,`cv2.waitKey`和`cv2.destroyAllWindows`函数用于等待按键输入和关闭窗口。
阅读全文