已知RGB—YUV转换公式和RGB—YUV转换公式,给定一幅 RGB 图像,将其分别转换为 YUV 和 HSV 颜色模型;输出格式:最左侧为原图(RGB),中间为 YUV 图像,最右侧为 HSV 图像。用python写
时间: 2024-09-12 17:09:02 浏览: 90
在Python中,我们可以使用OpenCV库来进行颜色空间的转换。首先,确保已经安装了OpenCV,如果没有,可以使用pip安装:
```bash
pip install opencv-python
```
以下是一个简单的示例,展示如何将RGB图像转换为YUV和HSV:
```python
import cv2
import numpy as np
def rgb_to_YUV(image):
# 归一化到0-1范围
image = image.astype(np.float32) / 255.0
yuv = cv2.cvtColor(image, cv2.COLOR_RGB2YUV)
return yuv
def rgb_to_HSV(image):
hsv = cv2.cvtColor(image, cv2.COLOR_RGB2HSV)
return hsv
# 假设你有一个名为'rgb_image.jpg'的RGB图像
image_rgb = cv2.imread('rgb_image.jpg')
# 转换为YUV
yuv_image = rgb_to_YUV(image_rgb)
# 转换为HSV
hsv_image = rgb_to_HSV(image_rgb)
# 显示原始RGB、YUV和HSV图像
cv2.imshow("Original RGB", image_rgb)
cv2.imshow("Converted YUV", yuv_image)
cv2.imshow("Converted HSV", hsv_image)
# 等待用户按键退出
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这个脚本会打开一个窗口,显示三个图像:原RGB、转换后的YUV以及HSV版本。每个图像都是灰度显示的,因为YUV和HSV的颜色信息已经分解成不同的通道。
阅读全文