Tråd: PYTHON Finne samling med pixler
View Single Post
Det finnes en del optimaliseringer du kan gjøre, både probabilistiske og heuristiske. Det kommer veldig an på hvilke typer mønster du ser etter. Er det alltid kvadratiske, symmetriske, <=3-fargede mønstre? Eller må du støtte rektangulære klosser med hele RGB-spekteret?

Hvis du kan anta at mønsteret har svært få farger, og er av en viss størrelse, så kan du hoppe like langt som mønsteret er langt, og så sjekke om pixelen matcher en farge som er i mønsteret ditt. Dette reduserer søkerommet ditt betraktelig, gitt at antall farger er mindre enn dimensjonen på mønsteret. Du kan så sjekke alle interessante pixel-områder i etterkant, sortert etter hvor "sjelden" den fargen du fant er - slik som Moff nevner over.

Hvis mønsteret er slik at det alltid stikker seg veldig ut på bildet, enten pga. harde kanter, farger som ikke matcher bakgrunnen osv. så har du også en del metoder. Det du ønsker å gjøre da går under "Image Segmentation", som har et utall forskjellige fremgangsmåter: Region-growing, edge detection, rekursive histogram-analyser, og clustering for å nevne noen.

Et annet alternativ, om du ikke nødvendigvis ser etter effektive algoritmer, er å bruke PIL/Pillow til å lagre mønsteret ditt som et bilde. Da kan du bruke bedre verktøy som OpenCV o.l. til å finne mønstrene. Dette er ofte tusen ganger enklere hvis du skal gjenkjenne mønstre som plutselig kan være på skrå, opp-ned, zoomet inn på osv. i bildet du søker i.