En parcourant les pixels dans une image
Mon projet est d'insérer une image dans une balise canvas dans une page HTML, et ensuite une boucle à travers les pixels et RGBA des valeurs des pixels. Tout en parcourant les valeurs en rouge,de sorte que chaque quatrième valeur du pixel, je veux enregistrer la position des pixels qui représentent un pixel blanc. Maintenant, j'ai le chargement de l'image vers le bas avec un peu de code que j'ai reçu de ce blog, http://www.phpied.com/photo-canvas-tag-flip/ .
Il a un autre post dans lequel il donne un peu de code sur comment faire une boucle à travers les pixels et de consigner les informations que je souhaite journal, mais je ne le comprends pas, et je ne veux pas copier son code sans savoir ce que c'est que je suis en train de faire. Si quelqu'un pourrait-il veuillez expliquer la méthode qu'il utilise ou peut-être me montrer un autre moyen de faire ce qu'il fait? C'est le lien de l'autre post http://www.phpied.com/pixel-manipulation-in-canvas/ .
Vous devez vous connecter pour publier un commentaire.
Il est simple.
Toutes les données de pixels pour une toile sont stockées de manière séquentielle dans un tableau.
Le premier pixel de données occuper les éléments du tableau #0 à 3 (rouge=0/vert=1/bleu=2/alpha=3).
La deuxième pixel des données occuper les éléments du tableau #4 à 7 (en rouge=4/vert=5/bleu=6/alpha=7).
Et ainsi de suite...
Vous pouvez charger que les données de pixel en utilisant le contexte.getImageData() et l'énumération dans le tableau.
Vous pouvez également modifier ces valeurs de tableau et puis enregistrez le tableau à l'image à l'aide du contexte.putImageData().
L'image changera selon les modifications que vous avez apportées à sa gamme de pixels.
Je vous recommande d'utiliser un framework de traitement d'image afin de se concentrer sur les algorithmes plutôt que de manipuler des tableaux de valeurs. Certains cadres:
Dans le cas de MarvinJ, vous pouvez simplement faire une boucle par les pixels de l'itération de ligne et de colonne des coordonnées. J'utilise les méthodes getIntComponentX() pour accéder à des composants de la couleur.
Vous n'avez donc pas besoin de s'inquiéter de la façon dont les données de pixel est représenté. Afin de vérifier si un pixel est blanc:
Praticable Exemple:
JS:
HTML: