【问题标题】:R not showing HSV colors properlyR没有正确显示HSV颜色
【发布时间】:2016-10-06 08:17:58
【问题描述】:

我正在使用 RGB 和 HSV 格式 [0-255][0-1] 的颜色,所以我想在两个方向上正确转换它们。

假设我有一组 RGB 颜色值:

x_order<-structure(list(X1 = c(247, 202, 201), X2 = c(247, 120, 107), 
    X3 = c(145, 168, 208), X4 = c(3, 79, 132), X5 = c(251, 227, 
    55), X6 = c(152, 221, 222), X7 = c(152, 150, 164), X8 = c(220, 
    68, 58), X9 = c(177, 143, 106), X10 = c(113, 204, 81)), .Names = c("X1", 
"X2", "X3", "X4", "X5", "X6", "X7", "X8", "X9", "X10"), row.names = c(NA, 
-3L), class = "data.frame")

所以

> x_order
   X1  X2  X3  X4  X5  X6  X7  X8  X9 X10
1 247 247 145   3 251 152 152 220 177 113
2 202 120 168  79 227 221 150  68 143 204
3 201 107 208 132  55 222 164  58 106  81

所以我检查了转换:

 library(grDevices)

 plot(1, type="n", xlab="", ylab="", xlim=c(0, 25), ylim=c(0, 1))

 for (i in 1:10){
   points(i*2,0.8,pch=19,col=rgb(x_order[1,i],x_order[2,i],
                               x_order[3,i],maxColorValue = 255), cex=5)

   points(i*2,0.4,pch=19,col=hsv(rgb2hsv(x_order[,i],
                               maxColorValue = 255)), cex=5)       
 }

结果是:

如何将 RGB 值正确转换为 HSV 并显示输出?

还有一件事是我确信rgb2hsv 的工作是正确的,因为我从文章中获得了我的颜色设置的色调值。

更新:

> hsv(rgb2hsv(x_order[,10],maxColorValue = 255))
[1] "#42FF00" "#0061FF" "#CC00FF"
> rgb(x_order[1,10],x_order[2,10],x_order[3,10],maxColorValue = 255)
[1] "#71CC51"

【问题讨论】:

    标签: r colors


    【解决方案1】:

    您正在将一个值向量传递给hsv,它不会以您期望的方式接受它。您可以分别传入参数hsv 并获得正确的转换:

    hsvColors <- rgb2hsv(x_order)
    
    plot(1, type="n", xlab="", ylab="", xlim=c(0, 25), ylim=c(0, 1))
    
    for (i in 1:10){
        points(i*2, 0.8, pch=19, 
               col=rgb(x_order[1,i],x_order[2,i], x_order[3,i], maxColorValue = 255),
               cex=5)
    
        points(i*2, 0.4, pch=19, 
              col = hsv(hsvColors[1, i], hsvColors[2, i], hsvColors[3, i]), 
              cex=5)       
    }
    

    【讨论】:

    • 非常感谢!我以某种方式错过了它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-23
    • 2020-04-02
    相关资源
    最近更新 更多