Вы можете загрузить PNG в виде трехмерного массива (n_rows x n_columns x (R, G, B, alpha)), используя пакет png
. Тогда вы можете сделать что-то вроде этого:
find_pixels <- function(png_path, string)
{
img <- 255 * png::readPNG(png_path)
R <- as.numeric(paste0("0x", substr(string, 2, 3)))
G <- as.numeric(paste0("0x", substr(string, 4, 5)))
B <- as.numeric(paste0("0x", substr(string, 6, 7)))
which(img[,,1] == R & img[,,2] == B & img[,,3] == G, arr.ind = TRUE)
}
find_pixels("~/smiley.png", "#FAFAFA")
#> row col
#> [1,] 1 1
#> [2,] 2 1
#> [3,] 3 1
#> [4,] 4 1
#> [5,] 5 1
#> [6,] 6 1
#> ... etc