15

I've ran into old stackoverflow posts like this one that use packages like ReadImages and biOps that are now deprecated in R 3.1.0, and are not available anymore.

Can someone tell me how to display an image in R 3.1.0? (Specifically jpeg and png images)

Community
  • 1
  • 1
hlin117
  • 18,464
  • 29
  • 68
  • 90

2 Answers2

22

As pointed out by Simon Urbanek in the comments of the linked question, you can do this:

library("jpeg")
jj <- readJPEG("myfile.jpg",native=TRUE)
plot(0:1,0:1,type="n",ann=FALSE,axes=FALSE)
rasterImage(jj,0,0,1,1)

or (for PNG)

library("png")
pp <- readPNG("myfile.png")
plot.new() 
rasterImage(pp,0,0,1,1)

version 0.1.7 of png, 0.1.8 of jpeg

SmallChess
  • 7,498
  • 9
  • 52
  • 85
Ben Bolker
  • 192,494
  • 24
  • 350
  • 426
15

The package imager can load png, jpeg and bmp images.

library(imager)
im<-load.image("myimage")
plot(im)

It has also many functions for processing and plotting. With extra libraries installed (ffmpeg and ImageMagick), it can even load videos and other images format.

Vincent
  • 313
  • 2
  • 7