使用magick软件包填充图像

时间:2019-05-05 19:34:04

标签: r imagemagick

此图像应使用较小的图像填充:

enter image description here

library(sp)
library(raster)
library(imager)


im <- load.image("white_rectangle.jpg") 
px <- im > 0.4 #Select pixels of the circle (i.e., those with high luminance)
coord <- where(px)

boundaries <- imager::boundary(px)
boundaries.xy <- where(boundaries)

x_coord <- boundaries.xy$x
y_coord <- boundaries.xy$y
xym <- cbind(x_coord, y_coord)

p = Polygon(xym)
ps = Polygons(list(p),1)
sps1 = SpatialPolygons(list(ps))
plot(sps1)

我正在尝试使用magick软件包来填充先前的图像。

解决该问题的想法之一是,尝试用3x3矩阵等图像填充立方体。

bigdata <- 
image_read('https://jeroen.github.io/images/bigdata.jpg')
frink <- image_read("https://jeroen.github.io/images/frink.png")
logo <- image_read("https://jeroen.github.io/images/Rlogo.png")
img <- c(bigdata, logo, frink)
img <- image_scale(img, "300x300")
image_info(img)

new_i <- image_append(image_scale(img, "x200"))

我当前的代码返回3的向量,我不知道如何创建3 x 3图像的矩阵:

  image_append(new_i,new_i,new_i stack = TRUE)

感谢您的指导。

1 个答案:

答案 0 :(得分:1)

我不确定您输入的图像有多大,也不确定如何填充它们。但是,如果您希望将它们并排附加,那么在Imagemagick命令行中,我会这样做:

输入(重复3次):

enter image description here

减去边框后,您要填充的图像为630x380。我明白了

C:\Users\*****\PyGame\doubtful\venv\Scripts\python.exe C:/Users/*****/PyGame/doubtful/logic.py
  File "C:/Users/*****/PyGame/doubtful/logic.py", line 48
    def make_pos(tup):
      ^
SyntaxError: invalid syntax

Process finished with exit code 1


因此要在图像中追加和插入

convert img.jpg -fuzz 15% -format "%@" info:
630x380+10+10

enter image description here

这是您要做什么吗?

如果要使用3x3的图像网格,请调整(调整大小和/或裁剪)这3张图像,以使其在每个尺寸中均是背景图像的1/3。水平附加3张。复制品再重复2次,并垂直附加该3组。然后插入您的背景图片。

convert img.jpg \( monet2.jpg monet2.jpg monet2.jpg +append -resize 630x380^ -gravity center -extent 630x380 \) -gravity center -compose over -composite result.jpg


enter image description here

添加:

另一种方法是仅平铺图像。

convert img.jpg \( \( monet2.jpg monet2.jpg monet2.jpg -resize 210x127^ -gravity center -extent 210x127 +append \) -duplicate 2 -append \) -gravity center -compose over -composite result1.jpg


enter image description here