1

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

例如,以下是我用 GIMP 快速制作的 640x480 JPEG: 在此处输入图像描述

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

在此处输入图像描述

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

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

谢谢!

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

4

1 回答 1

2

例如,您可以使用BioconductorEBImage来获得所需的结果。readImage是 R 包jpegpngtiff中提供的函数的包装器,它支持直接从 URL 读取。关闭双线性过滤的filter参数,否则结果将被平滑而不是像素化。resize转换后的图像可以使用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)

在此处输入图像描述

于 2017-11-09T11:58:58.610 回答