gpt4 book ai didi

r - 将多组 jpg 图像组合成一个 jpg/png r

转载 作者:行者123 更新时间:2023-12-05 05:58:49 27 4
gpt4 key购买 nike

我有一张图片列表,我想将它们组合成每组一张图片。每个图像都有一个名称以及它是什么类型的图表。我希望有一种方法可以使用名称对图像进行分组,并为每个组返回单个 jpg 或 png 的输出。组合后的图像如下所示:

combined

该文件夹包含具有以下命名结构的图像列表:在这种情况下,我希望有 3 个基于 bart、lisa 和 marge 的输出组合 png。

"bart Cum Oil.jpg"
"bart GOR.jpg"
"bart Legend.jpg"
"bart Oil Rate.jpg"
"lisa Cum Oil.jpg"
"lisa GOR.jpg"
"lisa Legend.jpg"
"lisa Oil Rate.jpg"
"marge Cum Oil.jpg"
"marge GOR.jpg"
"marge Legend.jpg"
"marge Oil Rate.jpg"

下面是我将组合的四张图片的示例,因为所有图片的名称中都有“bart”。 bart Cum Oil bart GOR bart Legend bart Oil Rate

最佳答案

一种选择是使用 magick::image_montage。唯一的技巧是创建一个 2x2 网格并插入一个空白图像作为第三个对象。

library(magick)
#> Linking to ImageMagick 6.9.12.3
#> Enabled features: cairo, freetype, fftw, ghostscript, heic, lcms, pango, raw, rsvg, webp
#> Disabled features: fontconfig, x11

imgs_url <- c('/image/TqnwC.png',
'/image/qIDXh.png',
'/image/B36ko.png')

imgs <- image_read(imgs_url)
imgs <- c(imgs[1:2], image_blank(width = 3, height = 5), imgs[3])

image_montage(imgs, tile = '2x2', geometry = "x200+3+5")

reprex package 创建于 2021-07-13 (v2.0.0)


如果您想按名称对图像进行分组,一种方法是在一个函数中捕获上述工作流,并添加一个 grepl 语句来标识要绘制的图像子集。

我没有所有的图片,所以这是未经测试的。但它看起来像这样。

my_files <- c("bart Cum Oil.jpg",
"bart GOR.jpg",
"bart Legend.jpg",
"bart Oil Rate.jpg",
"lisa Cum Oil.jpg",
"lisa GOR.jpg",
"lisa Legend.jpg",
"lisa Oil Rate.jpg",
"marge Cum Oil.jpg",
"marge GOR.jpg",
"marge Legend.jpg",
"marge Oil Rate.jpg")

# remove oil rate image paths
my_files <- my_files[!grepl('Oil Rate', my_files)]


# create function
make_grid <- function(group, path_to_files){

f <- files[grepl(group, files)]

imgs <- image_read(f)
imgs <- c(imgs[1:2], image_blank(width = 3, height = 5), imgs[3])

image_montage(imgs, tile = '2x2', geometry = "x200+3+5")

}


# create lisa image grid
make_grid('lisa', my_files)

# create all image grids
lapply(c('bart', 'lisa', 'marge'), make_grid, path_to_files = my_files)

关于r - 将多组 jpg 图像组合成一个 jpg/png r,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68365335/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com