J'ai une image que j'essaie de faire défiler pour trouver la position des pixels.Détection des couleurs de tolérance après le redimensionnement de l'image
Donc, si elle est couche 1000px x 1000px je vois cette image (je viens de montrer fragment d'image, j'espère que ce sera suffisant pour comprendre):
Mais si je remets à la côte mon image pour par exemple à 300px x 300px il ressemble à ceci (aussi montrer que fragment d'image):
comme vous pouvez le voir après le calibrage vers le bas, nous avons un des pixels supplémentaires non seulement violet et vert, mais quelque chose comme dégradé entre deux couleurs. Mais j'écris un programme qui essaie de trouver la position des pixels pour le vert et le violet, donc j'utilise juste 2 couleurs pour trouver la position appropriée. Sans redimensionner mon programme, je le détecte bien, mais après le redimensionnement, il y a un problème avec la détection de la position de couleur appropriée. Dans photoshop si vous utilisez par exemple la tolérance 100 et décochez l'anti-aliasing cocher cela fonctionne bien et trouve la bonne position même avec gradient.
Comment implémenter la tolérance dans mon code. Par exemple, j'ai la couleur verte que j'ai besoin de comparer avec toutes les couleurs de tolérance. Et si le pixel 100 pour cent tolère le vert, le programme devrait supposer que le pixel est connecté à la couleur verte.
Ce que je veux dire. Par exemple j'ai la couleur RVB (0, 255, 0) et je veux y trouver toute la tolérance. Dans ce cas pour le vert.
Ou par exemple si j'ai RVB (100, 255, 50) alors j'ai besoin de trouver toutes les couleurs de tolérance pour cela.
Je suppose que voici une gamme que je peux définir et les couleurs pour vérifier la couleur de tolérance.
Comme je supplémentaire, j'utilise des données brutes pour faire défiler tous les pixels. Donc, je peux obtenir RGBA:
float red = (rawData[byteIndex] * 1.0)/255.0;
float green = (rawData[byteIndex + 1] * 1.0)/255.0;
float blue = (rawData[byteIndex + 2] * 1.0)/255.0;
float alpha = (rawData[byteIndex + 3] * 1.0)/255.0;
travail couleur unie donc la détection parfaite, mais je question de savoir comment reconnaître que la pente et décider si la couleur reliée au vert ou violet pièce.
Here is also ma question précédente comment cycle pixel.
quel algorithme utilisez-vous pour redimensionner l'image? – holex
@holex, j'utilise celui-ci http://stackoverflow.com/questions/2658738/the-simplest-way-to-resize-an-uiimage, mais je ne sais pas s'il y a un algorithme pour changer la taille en sauvegardant le De la même couleur, je n'ai pas besoin de dégradé entre les pièces. –