r magick выделите картинку - PullRequest
0 голосов
/ 28 марта 2019

Я хочу выделить части изображения, добавив к нему белую заливку, аналогично тому, что сделано в этом https://tex.stackexchange.com/questions/78378/highlighting-part-of-an-image.

Я использую магию и код ниже.

library(magick)
frink <- image_read("https://jeroen.github.io/images/frink.png") %>%
  image_colorize( opacity = 80 , color = "white") %>% 
  image_draw(.)
rect(40, 20, 150, 150, border = "red", lty = "dashed", lwd = 5)
rect(80, 170, 150, 300, border = "blue", lty = "solid", lwd = 5)

и в результате получается

enter image description here

Как убрать белую заливку внутри квадратов?

1 Ответ

1 голос
/ 28 марта 2019

Если я предполагаю, что комментарий Марка Сетчелла правильный, то с помощью командной строки Imagemagick вы можете сделать следующее. Извините, я не знаю RMagick.

Введите:

enter image description here

Что я делаю:

1. Read the input image.
2. Copy the input image and add 80% to make it whiter
3. Copy the image and fill it with white, then draw a black rectangle where you want to keep the original color. This will be a mask image
4. Use the mask image to composite the original and the white image together
5. Add a blue border
6. Save the result


convert lena.png \
\( -clone 0 -evaluate add 80% \) \
\( -clone 0 -fill white -colorize 100 \
-fill black -draw "rectangle 100,100 150,150" -alpha off \) \
-compose over -composite \
-fill none -stroke blue -strokewidth 5 \
-draw "rectangle 100,100 150,150" \
result.jpg


enter image description here

Настройте 80% на любое значение, которое вам нравится, чтобы сделать входной сигнал более белым.

Возможно, 50% приятнее.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...