、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题
时间: 2024-11-09 08:23:06 浏览: 60
在Python中,我们可以使用OpenCV库来读取RGB图像并进行转换。首先,需要安装OpenCV,可以使用pip install opencv-python命令安装。以下是一个简单的步骤说明:
1. 导入库:
```python
import cv2
import numpy as np
```
2. 读取RGB图像:
```python
image_path = 'your_image.jpg' # 替换为你图片的实际路径
img = cv2.imread(image_path)
if img is None:
print("Image not found!")
else:
original_shape = img.shape
```
3. 转换为灰度图像:
```python
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # BGR到灰度
```
4. 创建新窗口,并分割为三部分:
```python
# 窗口大小和位置
window_size = (original_shape[1], original_shape[0] // 3)
pos1 = (0, 0) # RGB图像的位置
pos2 = (0, window_size[1]) # 灰度图像的位置
# 创建窗口
cv2.namedWindow('Original Image', cv2.WINDOW_NORMAL)
# 显示RGB和灰度图像
cv2.imshow('Original Image', img)
cv2.imshow('Grayscale Image', gray_img)
```
5. 添加文字标题:
```python
# 添加文本标签
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img, "Original Image", pos1, font, 1, (255, 255, 255), 2)
cv2.putText(gray_img, "Grayscale Image", pos2, font, 1, (255, 255, 255), 2)
```
6. 显示子窗口:
```python
cv2.imshow('RGB & Gray', np.concatenate((img, gray_img), axis=1))
cv2.waitKey(0) # 等待用户按键,0表示一直等待直到按下任意键
cv2.destroyAllWindows()
```
阅读全文