改变大小和纵横比而不失真
Change size and aspect ratio without distortion
我正在寻找一种在 R 中使用不同大小和宽高比的较大图像制作 400x400 像素图像 (.jpg/.png) 而不扭曲图像的方法。新图应该有原图的大部分内容,但可以左右剪掉一点,这样就变成了正方形,没有失真。
我走了多远(失真):
library(magick)
pics <- list.files("./")
for(i in 1:length(pics)){
a <- image_read((paste0("./", pics[i], sep="")))
b<-image_resize(a, "300x300!")
image_write(b, path = paste0("./", pics[i], sep=""), format = "jpg")
}
提前致谢!
多米尼克
您可以在调整大小行 b<-image_resize(a, "300x300!")
之前添加这些行以裁剪 a
使其成为正方形。
newdim <- min(image_info(a)[c('width', 'height')])
a <- image_crop(a, geometry = geometry_area(newdim, newdim))
我正在寻找一种在 R 中使用不同大小和宽高比的较大图像制作 400x400 像素图像 (.jpg/.png) 而不扭曲图像的方法。新图应该有原图的大部分内容,但可以左右剪掉一点,这样就变成了正方形,没有失真。
我走了多远(失真):
library(magick)
pics <- list.files("./")
for(i in 1:length(pics)){
a <- image_read((paste0("./", pics[i], sep="")))
b<-image_resize(a, "300x300!")
image_write(b, path = paste0("./", pics[i], sep=""), format = "jpg")
}
提前致谢!
多米尼克
您可以在调整大小行 b<-image_resize(a, "300x300!")
之前添加这些行以裁剪 a
使其成为正方形。
newdim <- min(image_info(a)[c('width', 'height')])
a <- image_crop(a, geometry = geometry_area(newdim, newdim))