Существует ли библиотека R для рисования полигонов и создания массива RGB? - PullRequest
0 голосов
/ 09 апреля 2019

Я пытаюсь сгенерировать массив значений RGB для изображения, которое содержит n добавленных мною многоугольников. Каждый многоугольник имеет n точек, цвет заливки и непрозрачность. Полигоны могут перекрываться. Моя цель - не построить изображение, а получить массив RGB, представляющий его

В настоящее время я использую пакет Imager, но он позволяет рисовать только прямоугольники. Я также посмотрел на растровый пакет, но, похоже, это не поможет. Имплант может быть полезен, но я не могу найти поддержку для полигонов.

Используя тепловизор, в настоящее время у меня есть следующий код:


cimg(array(1, c(width,height,1,3))) -> img1

draw_rect(img, x0, y0, x1, y1, opacity = 1, color="BLACK",filled = TRUE) -> img1

где объект img1 содержит массив RGB

Проблема решена:

Еще один пример того, чего я пытаюсь достичь:

например. когда я пытаюсь получить RGB-массив изображения, содержащего многоугольники, определенные с точками (10,10), (20,20), (30,10), (20, 50), и еще двое просто перемещаются вдоль х ось со смещением 10 и 20:

width <- height <- 250

xes <- c(10,20,30,20)
yes <- c(10,20,10,50)
cimg(array(1, c(width,height,1,3))) -> img3

img3 %>% 
  implot(., polygon(xes, yes, col = rgb(red = 0, green = 0, blue = 1, alpha = 0.5), border=NA),
       rescale = FALSE ) %>% 
  implot(.,polygon(xes+ 10, yes, col = rgb(red = 1, green = 0, blue = 0, alpha = 0.5), border=NA),
       rescale = FALSE ) %>%
  implot(.,polygon(xes+ 20, yes, col = rgb(red = 0, green = 1, blue = 0, alpha = 0.5), border=NA),
       rescale = FALSE ) -> out

out[,,1,] #prints out RGB array which I need
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...