Hans Thompson
2013-Mar-02 22:03 UTC
[R] Raster images and saving with original pixel dimensions in tiff, jpeg, or png perferablly.
Hello R-Help, I want to be able to read in a raster image, plot it with grid.raster or rasterImage and save the image with one pixel per a pixel element from my array. Saved preferably in a common image format. The real goal of my question is to eventually read in images with text on them, manipulate them with my controlled functions, save them without changing the image dimensions, and perform OCR outside R. I have read The R Journal article on raster images (http://journal.r-project.org/archive/2011-1/RJournal_2011-1_Murrell.pdf) and have experimented with some of the par() variables with no success. There are some arguments in gird.raster that elude me currently on how to use them. These include, vjust, hjust, default.units, gp and vp. Perhaps these are what I need to use but I am getting nowhere without more documentation. Here is the basic code I've used to experiment with making this work. The end result I'm hoping for would be an image exactly like the one I've read in (Rlogo.jpg for this small example). I turned off dev.copy lines because I'm not sure on the guidelines for file writing functions. Thanks, Hans Thompson Forgive me If I made any mistakes following posting guidelines. ####START##### library(jpeg) library(grid) img <- readJPEG(system.file("img", "Rlogo.jpg", package="jpeg")) grid.raster(img, interpolate =F) #turnon next line for output. Don't want to accidentally write any unwanted files. #dev.copy(tiff, "outputimage.tiff") dev.off() #or using package = "graphics" but not perfered. library(graphics) plot( c(0, dim(img)[2]), c(0, dim(img)[1]), type = "n", xlab = "", ylab = "") rasterImage(img, 0, 0, dim(img)[2], dim(img)[1]) #dev.copy(tiff, "outputfile2.tiff") dev.off() ##STOP##
Paul Murrell
2013-Mar-04 19:32 UTC
[R] Raster images and saving with original pixel dimensions in tiff, jpeg, or png perferablly.
Hi It sounds like you just want to control the size of the external raster image that you are creating. For example ... library(grid) im <- matrix(0:1, ncol=3, nrow=3) # grid.newpage() grid.raster(im, interpolate=FALSE) png("ident.png", 3, 3) grid.raster(im, interpolate=FALSE) dev.off() Does that help? Paul On 03/03/13 11:03, Hans Thompson wrote:> Hello R-Help, > > I want to be able to read in a raster image, plot it with grid.raster > or rasterImage and save the image with one pixel per a pixel element > from my array. Saved preferably in a common image format. > > The real goal of my question is to eventually read in images with text > on them, manipulate them with my controlled functions, save them > without changing the image dimensions, and perform OCR outside R. > > I have read The R Journal article on raster images > (http://journal.r-project.org/archive/2011-1/RJournal_2011-1_Murrell.pdf) > and have experimented with some of the par() variables with no > success. There are some arguments in gird.raster that elude me > currently on how to use them. These include, vjust, hjust, > default.units, gp and vp. Perhaps these are what I need to use but I > am getting nowhere without more documentation. > > Here is the basic code I've used to experiment with making this work. > The end result I'm hoping for would be an image exactly like the one > I've read in (Rlogo.jpg for this small example). I turned off > dev.copy lines because I'm not sure on the guidelines for file writing > functions. > > Thanks, > Hans Thompson > > Forgive me If I made any mistakes following posting guidelines. > > ####START##### > library(jpeg) > library(grid) > > img <- readJPEG(system.file("img", "Rlogo.jpg", package="jpeg")) > grid.raster(img, interpolate =F) > #turnon next line for output. Don't want to accidentally write any > unwanted files. > #dev.copy(tiff, "outputimage.tiff") > dev.off() > > #or using package = "graphics" but not perfered. > > library(graphics) > > plot( c(0, dim(img)[2]), c(0, dim(img)[1]), type = "n", xlab = "", ylab = "") > rasterImage(img, 0, 0, dim(img)[2], dim(img)[1]) > #dev.copy(tiff, "outputfile2.tiff") > dev.off() > > ##STOP## > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >-- Dr Paul Murrell Department of Statistics The University of Auckland Private Bag 92019 Auckland New Zealand 64 9 3737599 x85392 paul at stat.auckland.ac.nz http://www.stat.auckland.ac.nz/~paul/