如何从jpeg中提取某些颜色及其位置?

时间:2018-10-28 05:16:35

标签: r

通过“ JPEG”库,我们可以从jpeg文件中提取RGB矩阵。如果我知道#RRGGBB格式的特定颜色,如何获得色点的位置?

library(jpeg)
IMGMX <- readJPEG("sample.jpg") %>% melt %>% dcast(Var1+Var2~Var3, value.var = "value")

enter image description here

1 个答案:

答案 0 :(得分:1)

将数据重新缩放为[0,255]

IMGMX[, 3:5] <- 255 * IMGMX[, 3:5]

将#RRGGBB转换为R,G,B坐标

clr <- '#652d90'
r <- col2rgb(clr)[1]
g <- col2rgb(clr)[2]
b <- col2rgb(clr)[3]

打印匹配项

IMGMX[IMGMX$`1` == r & IMGMX$`2` == g & IMGMX$`3` == b, 1:2]

这将为您提供一个由2列(宽度和高度)和n行组成的数据框,对应于原始图像中颜色为'clr'的n个像素。