R:在保留分辨率的同时对 JPEG 进行下采样?

R: Downsample JPEG while preserving resolution?

我知道 R 有 jpeg 包可以处理 JPEG 图像。在我的工作流程中,有一个步骤我想在保留原始像素分辨率的同时对图像进行缩减采样。

例如,下面是我用 GIMP 快速制作的 640x480 JPEG:

我还保存了它的 320x240 版本:

如您所见,320x240 版本更小,看起来也更小。

但是,有没有办法以编程方式使用 jpeg 包或另一个 R 包来 "downsample" 图像,使其保持 640x480(或任何其原始像素尺寸)但这样做这样它看起来像 320x240 版本 "zoomed in" 到 640x480 尺寸? (是的,这意味着它可能看起来像素化)

谢谢!

编辑: 需要说明的是,我并不是专门谈论 DPI 的东西。我说的是下采样但上采样回到原始分辨率。我可以使用哪些功能和包来实现此目的?

例如,您可以使用 Bioconductor package EBImage 来获得所需的结果。 readImage 是 R 包 jpegpngtiff[=24= 中提供的函数的包装器] 支持直接从 URL 读取。 resizefilter 参数关闭双线性过滤,否则结果将被平滑而不是像素化。转换后的图像可以用 writeImage.

保存到磁盘
library(EBImage)

img = readImage("https://i.stack.imgur.com/xgLSp.jpg")

# downsample
img = resize(img, w=320, filter="none")

# upsample
img = resize(img, w=640, filter="none")

display(img)