Dominick Samperi
2009-Oct-20 21:59 UTC
[Rd] Problem/anomalous behavior with image() function (and ReadImages?)
When an RGB photo is displayed using R's image() function with the help of the pixmap (or rimage) package it is common to see an anomalous white line running across the picture (either horizontally or vertically). The line can be removed by simply stretching the image frame a little in the direction perpendicular to the anomalous line, or by maximizing the image frame (tested under Fedora 10; Windows could not be tested because ReadImages package does not load properly under Windows/Vista, and rimage is not available for Windows). It does not help to use x11(width=10,hight=10) before the call to image() with the hope that the frame will already be large enough: image() just draws a larger image with an anomalous white line (which can be removed in the way just described). Here is code that produces an image with anomalous white lines on under Fedora 10: library(rimage) x <- read.jpeg(system.file("data", "cat.jpg", package="rimage")) plot(x) # calls plot.imagematix(), which in turn calls image() Alternatively, you can copy cat.jpg from the rimage package to the data directory of ReadImages and do this: library(pixmap) library(ReadImages) x <- read.jpeg(system.file("data", "cat.jpg", package="ReadImages") catpixmap <- pixmapRGB(x) # convert imagemap to pixmap plot(catpixmap) # plot.pixmap is an S4 method that also calls image() (This alternative method is provided because rimage has an irrelevant dependency on an external library FFTW2 that complicates the process of installing rimage. The use of cat.jpg is not essential. The same problem appears with most jpg photo images.) Dominick