Comment obtenir des données de pixel d'une image à l'aide de R
Quelqu'un peut m'aider sur la façon d'obtenir le RVB de données de pixel d'une image dans la R?
J'ai besoin de cette information pour comparer les différences de plumage de l'oiseau pour aider à la compréhension d'une spéciation.
Mes photos sont prises par un appareil photo numérique et sont désormais comme une NEF-fichier. Il n'importe pas quel type de fichier c'est nécessaire, j'en ai la possibilité de convertir le fichier vers ce que je veux. Cependant, je préfère maintenir autant d'informations que possible dans le fichier (j'. e. PNG-les fichiers sont bons).
J'ai essayé beaucoup de paquets dans R: Pixmap, Raster, ImageMetrics et a parcouru l'internet, des méthodes éprouvées, a demandé à la co-étudiants etc. pendant plusieurs semaines à essayer de résoudre ce problème.
Ici, à Stackoverflow j'ai essayé ceci: Comment extraire les données de pixels d'Utilisation R pixmap paquet?, avec pas de chance. Mes fichiers sont trop gros pour le R de la fenêtre (le tableau ne montre pas), et j'ai du mal à comprendre la matrice produit. La meilleure chose pour moi serait d'obtenir les données sous forme de matrice ou d'une autre manière qui rend plus facile à comprendre qu'est-ce que ce que.
J'ai trouvé énormément de questions similaires, mais dans d'autres programmes (tels que Java, C++, IOS, Matlab, Python, etc) qui malheureusement, je ne sais pas comment l'utiliser.
Mes problèmes peut-être dû à mon manque de compétences avec ce type de travail, mais je fais comme je peux avec le fond que j'ai.
Si quelqu'un peut m'aider ou me donner som conseils, je serai très reconnaissant.
Vous aurez probablement être beaucoup plus heureux à l'aide de ImageJ (ou même GraphicConverter si vous avez accès à OS X). Pendant ce temps, en supposant que le birdfeathers seulement de couvrir une partie de l'image, de l'extrait de la matrice de sous-ensembles afin de réduire la taille des données que vous avez de déblayage.
Je suis désolé de ne pas voir que, comme vous pouvez le voir dans mon montage, j'ai mal compris ce que je faisais. Toutefois, si vous êtes intéressé, j'ai ce message d'erreur en essayant de test bill_080 réponse: image@taille "Erreur: essayer d'obtenir la fente "taille" à partir d'un objet d'une classe de base ("array") avec pas de logements"
oui je viens de regarder dans. ImageJ ou Bio7 qui combinent R et ImageJ. Merci pour les suggestions! 🙂
Vous devriez ouvrir de nouvelles questions au lieu de l'édition de votre origine et de les ajouter.
OriginalL'auteur MariaBioStudent | 2013-02-08
Vous devez vous connecter pour publier un commentaire.
J'ai d'abord générer un exemple
png
image :Puis-je le convertir en un format lisible par
pixmap
: ici je convertir le format png pour un fichier ppm comme je veux garder les couleurs de l'information. J'utilise ImageMagick de la ligne de commande, mais vous pouvez utiliser n'importe quel programme que vous voulez :Ensuite, vous pouvez lire l'image avec le
read.pnm
fonction de lapixmap
package :Et puis, vous pouvez utiliser le
x@red
,x@blue
,x@green
fentes (oux@grey
pour une image en niveaux de gris) pour obtenir les pixels de valeur pour chaque canal comme une matrice. Vous pouvez vérifier que les dimensions des matrices sont les mêmes que la taille de votre image :Si cela a résolu votre question, vous pouvez consulter la marque verte pour indiquer aux autres utilisateurs.
OriginalL'auteur juba
Prendre ce petit échantillon de 3x3 pixels d'image png:
Alors:
Si vous êtes en train de lire une image PNG avec canal alpha (comme l'exemple de l'image ci-dessus), puis chacune des
pix.
variables est un vecteur avec quatre entrées, chaque entrée correspondant à Rouge ,Vert, Bleu et Alpha valeurs d'un pixel.OriginalL'auteur Marijn