2017-06-28 2 views
1

En Python, il est facile de lire un fichier .png:R équivalent de open Python (le "my.png") read()

f = open("my.png", "rb") 
f.read() 

Je pensais que l'équivalent en R serait:

Mais cela donne un résultat différent de celui du code python pour le même fichier png. Comment est-ce que je recréerais open("my.png","rb").read() dans R?

Je ne suis pas intéressé à obtenir un tableau de RVB ou de niveaux de gris comme les offres de paquet png.

+0

python il le fait facilement son incroyable –

+0

@Carl, une solution consiste à utiliser package 'rJython' lancer python dans R – parth

+0

Est-ce que 'r <- png :: writePNG (img)' ce que vous voulez? Sur l'exemple de logo R png cela donne '[1] 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 ...' – Gregor

Répondre

1

De Preview a saved PNG in an R device window

library(png) 
img <- readPNG(system.file("img", "Rlogo.png", package="png")) 
grid::grid.raster(img) 

de https://cran.r-project.org/doc/manuals/r-release/R-data.html#Image-files

paquet pixmap a une read.pnm de fonction pour lire les images 'de anymap portables' dans PBM (noir/blanc), PGM (gris) et PPM (RGB couleur) formats. Ils sont également connus sous le nom de formats 'netpbm'.

Les paquets bmp, jpeg et png lisent les formats après lesquels ils sont nommés. Voir aussi les paquets biOps et Momocs, et le paquet Bioconductor EBImage. TIFF est plus un méta-format, un emballage dans lequel une très grande variété de formats d'image peut être intégrée. Les paquets rtiff et tiff peuvent lire certains sous-formats (en fonction du logiciel libtiff externe avec lequel ils sont compilés). Il existe quelques installations pour les sous-formats spécialisés, par exemple dans le paquet Bioconductor beadarray.

Les fichiers raster sont courants en sciences géographiques, et le paquetage rgdal fournit une interface à GDAL qui fournit ses propres installations pour lire les fichiers raster et les liens vers de nombreux autres.

Mais

voir aussi

package imageur

https://cran.r-project.org/web/packages/imager/vignettes/gettingstarted.html

voir aussi

https://www.bioconductor.org/packages/devel/bioc/manuals/EBImage/man/EBImage.pdf

un autre paquet est

https://github.com/leeroybrun/Bin2PNG

Je suis désolé mais je suis limité dans une recherche de paquet pour vous aider

+1

je pense que @Carl a besoin de la sortie binaire du fichier image au format '\ x89PNG \ r \ n \ x1a \ n \ x00 \ x00 \ x00 \ rIHDR \ x00' – parth