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 包 jpeg、png 和 tiff[=24= 中提供的函数的包装器] 支持直接从 URL 读取。
resize
的 filter
参数关闭双线性过滤,否则结果将被平滑而不是像素化。转换后的图像可以用 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)
我知道 R 有 jpeg
包可以处理 JPEG 图像。在我的工作流程中,有一个步骤我想在保留原始像素分辨率的同时对图像进行缩减采样。
例如,下面是我用 GIMP 快速制作的 640x480 JPEG:
我还保存了它的 320x240 版本:
如您所见,320x240 版本更小,看起来也更小。
但是,有没有办法以编程方式使用 jpeg
包或另一个 R 包来 "downsample" 图像,使其保持 640x480(或任何其原始像素尺寸)但这样做这样它看起来像 320x240 版本 "zoomed in" 到 640x480 尺寸? (是的,这意味着它可能看起来像素化)
谢谢!
编辑: 需要说明的是,我并不是专门谈论 DPI 的东西。我说的是下采样但上采样回到原始分辨率。我可以使用哪些功能和包来实现此目的?
例如,您可以使用 Bioconductor package EBImage 来获得所需的结果。 readImage
是 R 包 jpeg、png 和 tiff[=24= 中提供的函数的包装器] 支持直接从 URL 读取。
resize
的 filter
参数关闭双线性过滤,否则结果将被平滑而不是像素化。转换后的图像可以用 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)