2010-02-07 4 views
1

disons que j'ai une grande image avec environ 90% de pixels verdâtres, 9% de pixels bleutés et 1% de pixels brunâtres. Je veux obtenir un échantillon de seulement 100 pixels de l'image entière ayant environ 2000 000 pixels.obtenir un bon échantillon de pixels à partir d'une image

Je ne veux pas que l'échantillon contienne des pixels par rapport à leur fréquence dans l'image d'origine, mais plutôt un nombre égal de pixels verdâtres, bleutés et brunâtres. J'utilise -ish après chaque couleur parce que les pixels ont des valeurs différentes et aussi ce serait facile à faire si je connaissais les couleurs de chaque image, chaque image a des groupes de couleurs différentes, donc je dois trouver une façon générale de faire cela qui ne dépend pas de moi en spécifiant les couleurs de l'image.

+0

sont les pixels répartis au hasard sur votre image originale ou non? Par exemple, votre image peut avoir 900 000 pixels verdâtres, puis 90 000 bleus, puis 10 000 brunâtres sur les 10 dernières lignes. En d'autres termes, si votre image est, disons, de 1000 pixels de large, les 10 000 brunâtres peuvent-elles toutes être au fond, remplissant les dix dernières lignes? – SyntaxT3rr0r

+0

oh attends ... Et si sur un million de pixels vous avez un pixel rouge unique, voulez-vous que ce pixel rouge apparaisse dans votre échantillon? – SyntaxT3rr0r

+0

Par "échantillon", voulez-vous dire un bloc de pixels voisins de 10x10? – MikeWyatt

Répondre

1

2 mégapixels est de 8 Mo à 32 bits par pixel.

Vous pouvez traiter la matrice de pixels 2D comme une liste de nombres 1D et la trier.

Ensuite, prenez chaque n'th pixel de la liste triée.

Questions connexes