我正试图在R中处理一些图像数据,无法弄清楚如何调整图像的大小,我必须确保它们都是相同的大小。
在Python中,我是这样处理这个问题的:
from PIL import Image
import numpy as np
size = (100, 100)
img = Image.open(filename)
img = img.resize(size)
img = np.array(img.getdata())
在R中,我找不到一个能完成同样任务的库,我能找到的最远的库是:
library(jpeg)
img <- readJPEG(filename)
# Need something here to resize
img <- as.matrix(img)
最简单的方法是像Pillow这样的库,我可以调用它,但正如我所说,我似乎找不到任何东西。
谢谢你,
6条答案
按热度按时间xxslljrj1#
您可以借助Bioconductor软件包**EBImage**(R 的图像处理和分析工具箱)轻松完成此操作。要安装软件包,请用途:
然后可以使用 EBImage 提供的功能加载和缩放图像,如下例所示。
有关 EBImage 提供的功能的更多示例,请参见软件包vignette。
nsc4cvqm2#
包
imager
是一个很好的适合和隐藏所有的细节样条曲线,插值和简单地存储图像在一个4维数组(第四维正在使用的情况下,视频)更多信息可在此处找到:on the official introduction.
oyxsuwqo3#
这些选项是否满足您的需求:
也可以保存为其他格式; bmp,tiff,pdf。
?jpeg
将显示保存为位图格式的帮助。?pdf
将显示保存为pdf格式的帮助。ifsvaxew4#
我使用下面的代码来重新采样矩阵。如果你有一个jpeg对象,你可以为每个颜色通道单独做这个。
该战略如下:
给定矩阵
m
,其维数为a
和b
,新维数为a.new
和b.new
1.定义新格网
1.在
x
和y
方向上对原始矩阵重采样两次这里我选择了样条插值,但是你也可以使用
apporx()
的线性插值。你将额外获得一个x轴和y轴,用于使用image(x = x.new, y = y.new, z = V)
函数绘图。最好的。
zlhcx6iw5#
受Seily启发,调整灰度图像大小。
vshtjzan6#
使用软件包
imager
和单个参数