当前位置:网站首页 > 技术博客 > 正文

如何转换rgb格式

将

BGR 格式

图像 转换

为HSI

格式

需要经过

以下 步骤

1. 将

BGR 图像 转换

RGB 图像

2. 将

RGB 图像 转换

为HSI

图像

下面是

Python

代码

实现

 python import cv2 import numpy as np  # 加载 BGR 图像 img_ bgr = cv2.imread('image.jpg')  # 将 BGR 图像 转换  RGB 图像 img_ rgb = cv2.cvtColor(img_ bgr , cv2.COLOR_ BGR 2 RGB )  # 获取 RGB 三个通道 R, G, B = img_ rgb [:,:,0], img_ rgb [:,:,1], img_ rgb [:,:,2]  # 计算亮度 I = np.mean(img_ rgb , axis=2)  # 计算饱和度 S = 1 - (3 / (R + G + B + 1e-6)) * np.min([R, G, B], axis=0)  # 计算色调 H = np.zeros_like(I) mask = (R == B) & (G == B) H[mask] = 0 mask = (R >= G) & (G >= B) H[mask] = np.arccos((0.5 * ((R - G) + (R - B))) / (np.sqrt((R - G) 2 + (R - B) * (G - B)) + 1e-6)) mask = (G > R) & (R >= B) H[mask] = 2 * np.pi - np.arccos((0.5 * ((R - G) + (G - B))) / (np.sqrt((R - G) 2 + (G - B) * (B - R)) + 1e-6)) mask = (G >= B) & (B > R) H[mask] = 2 * np.pi + np.arccos((0.5 * ((G - R) + (G - B))) / (np.sqrt((G - R) 2 + (G - B) * (B - R)) + 1e-6)) H /= 2 * np.pi  # 将HSI 图像 合并为一个三通道 图像 img_hsi = np.zeros_like(img_ rgb ) img_hsi[:,:,0] = H img_hsi[:,:,1] = S img_hsi[:,:,2] = I  # 显示HSI 图像 cv2.imshow('HSI Image', img_hsi) cv2.waitKey(0) cv2.destroyAllWindows() 

其中,`img_

bgr

`是

BGR 格式

图像

,`img_

rgb

`是

RGB 格式

图像

,`H`、`S`和`I`分别是HSI

图像

的色调、饱和度和亮度。最后将它们合并为一个三通道

图像

`img_hsi`,并显示出来。

版权声明


相关文章:

  • 代码设计的基本步骤2025-08-14 10:01:03
  • java爬虫技术从零入门2025-08-14 10:01:03
  • 菜鸟教程的网址2025-08-14 10:01:03
  • dqn详解2025-08-14 10:01:03
  • 计算机组成原理视频教程2025-08-14 10:01:03
  • tftp路由器刷机修复工具v3.51中文汉化版2025-08-14 10:01:03
  • pylint deprecated lambda2025-08-14 10:01:03
  • seq2seq decoder2025-08-14 10:01:03
  • oracle nextday2025-08-14 10:01:03
  • api怎么测试2025-08-14 10:01:03