Matlab - Comment obtenir les valeurs de pixels?
Si j'ai une image, comment puis-je obtenir les valeurs de chaque pixel de l'image à l'aide de matlab
Grâce.
OriginalL'auteur Simplicity | 2012-12-19
Vous devez vous connecter pour publier un commentaire.
Images sont des matrices (2D si les niveaux de gris, en 3D si la couleur) dans MATLAB.
Vous pouvez utiliser
x(i,j)
pour accéder à un pixel à l'emplacement(i,j)
dans une image en niveaux de gris.Si l'image est en couleur, vous pouvez utiliser
x(i,j,:)
pour accéder à la r, g, b valeurs dans un 3-vecteur, respectivement. Si vous avez besoin de canaux individuels, ensuite, vous pouvez utiliserx(i,j,1)
pour le rouge par exemple.Vous pouvez lire cette page pour en savoir plus.
p1=I(0,0);
, j'ai eu:??? Attempted to access I(0,0); index must be a positive integer or logical.
Les indices commencent à partir de 1 et va à la longueur de la dimension. Il n'est pas comme en C.
Obtenu ce que vous voulez dire. Mais, n'est-ce pas là de la plus pratique pour obtenir
all
les valeurs des pixels sans aller à l'index par index? Surtout comme vous le savez, à certains moments, vous pouvez avoir une image avec un grand nombre de pixels, et serait très coûteuse en temps l'accès de chaque pixel individuellement. Qu'en pensez-vous? MerciC'est le découpage de l'opérateur
:
. Voir mathworks.com/company/newsletters/articles/...Littéralement eu une vision de l'ordinateur du professeur qui n'a jamais enseigné de nous un simple morceau de code avec Matlab. Merci pour ce post.
OriginalL'auteur petrichor
Vous pouvez utiliser
reshape
pour en extraire toutes les valeurs des pixels de l'image dans un vecteur avec des valeurs de pixel:Cela peut être utile lorsque vous souhaitez vectoriser votre code Matlab (pour éviter un
for
boucle qui passe par chaque pixel). Pour revenir à l'image originale de la représentation:OriginalL'auteur Alexey
pour obtenir les valeurs à
pixel(1,1)
nous écrivons simplementimage(1,1)
.OriginalL'auteur Sujit Singh