JAVA编写RGB转HLS,RGB转HSV,HSV转RGB,RGB HLS HSV三种模式转换

本文档提供了使用Java进行RGB到HSV、HSV到RGB转换的函数,并包含C语言实现的RGB、HSV、HLS三种色彩模式转换。此外,还展示了Java中RGB转HLS并提取绿色成分的代码示例。
摘要由CSDN通过智能技术生成

最近看了好多图像识别的例子,但是发现基本全是用Python写的,但是我们这里的需求是使用Java来写,至此,随手写几个函数,发出来供大家参考!

目录

1.RGB & HSV & HLS英文全称及解释

         2.RGB转HSV

         3.HSV转RGB

4.RGB HSV HLS三种色彩模式转换(C语言实现)

5.RGB转HLS并获取绿视绿(JAVA语言实现)


1.RGB & HSV & HLS英文全称及解释

        RGB - Red, Green, Blue,是工业界的一种颜色标准。

        HSV - Hue, Saturation, Value,是根据颜色的直观特性。

        HLS - HTTP Live Streaming,Apple的动态码率自适应技术

2.RGB转HSV

  max=max(R,G,B) 
  min=min(R,G,B) 
  if R = max, H = (G-B)/(max-min) 
  if G = max, H = 2 + (B-R)/(max-min) 
  if B = max, H = 4 + (R-G)/(max-min) 
  
  H = H * 60 
  if H < 0, H = H + 360 
  
 V=max(R,G,B) 
 S=(max-min)/max 

3.HSV转RGB

 if s = 0 
 R=G=B=V 
 else 
 H /= 60; 
 i = INTEGER(H) 
 
 f = H - i 
 a = V * ( 1 - s ) 
 b = V * ( 1 - s * f ) 
 c = V * ( 1 - s * (1 - f ) ) 
 
 switch(i) 
 case 0: R = V; G = c; B = a; 
 case 1: R = b; G = v; B = a; 
 case 2: R = a; G = v; B = c; 
 case 3: R = a; G = b; B = v; 
 case 4: R = c; G = a; B = v; 
 case 5: R = v; G = a; B = b; 

4.RGB HSV HLS三种色彩模式转换(C语言实现)


void RGB2HSV( uint16_t * h, uint16_t * s, uint16_t * v, uint8_t r, uint8_t g, uint8_t b)
{
    double rr, gg, bb;
    double hh,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值