【发布时间】:2015-05-03 23:20:25
【问题描述】:
我的目标是读取 PNG 或 JPEG 格式的图像文件,并在所述图像上绘制各种数据并将其保存到磁盘。
我还希望图像占用生成的绘图中的所有可用空间,没有轴或标签或任何东西。我有点担心这可能与我的问题有关。
代码示例
下面是我当前的代码,目前只尝试输出与您输入的相同的图像。稍后我计划绘制与图像上的坐标相对应的数据点。我使用了一些在此处找到的示例代码来移除坐标轴并能够将图像置于绘图的背景中。
library(jpeg)
library(grid)
img <- readJPEG(system.file("img", "Rlogo.jpg", package="jpeg"),native=TRUE)
jpeg(filename = "Rlogo-2.jpg", width=100,height=76, quality = 100,res=299)
op<-par(mar=rep(0,4))
plot(0:100,type="n", axes="FALSE",ann="FALSE")
lim <- par()
rasterImage(img, lim$usr[1], lim$usr[3], lim$usr[2], lim$usr[4])
dev.off()
示例输出
这是我上面的代码与原始图像比较的示例输出:
左图为原图,右图为修改后的图。如您所见,我读取和绘制的图像似乎比原始图像小,当保存为原始尺寸时,它看起来很模糊。
我已经把头发拉过这个几个小时了,但我似乎没有得到任何结果。这是我第一次尝试在图像上绘制数据,我知道我缺乏关于 R 如何表示图像的知识,并且我以前主要使用基本图形来绘制相对简单的绘图。
我目前正在考虑在 Python 中执行此操作,但我担心当涉及到数据的实际绘图时,它会反过来咬我。
我在运行 Windows 7 的 x86_64 上运行 R 版本 3.1.0。
【问题讨论】: