Ikke alle billedfiltre kan beskrives i en foldningsmatrix, da de enten ikke benytter nabopixler til manipulationen eller ændrer på billedets form. Her kan man beskrive manipulation via algoritmer, der trin for trin beskriver, hvad der skal ske med de enkelte pixler. Algoritmerne er med andre ord en slags opskrift på, hvad der skal gøres og de kan implementeres - programmeres - i mange forskellige sprog.
Der er basalt set tre måder pixels i et billede kan manipuleres på:
- Ændring af farveværdi
- Ændring af placering
- Ændring af form
Ændring af farve
Det er muligt at beskrive langt de fleste ændringer i pixlers farveværdi via foldningsmatricer, men skal flere pixler have samme farveværdi eller skal man bruge andre parametre end de nærmeste pixlers, er det nødvendigt at udarbejde en algoritme. Flere filtrer ændrer farven pixel for pixel, men kan ikke beskrives i en foldningsmatrix, f.eks.:
- Border: Yderste pixler sættes til en bestemt farve
- Round Corner: Hjørne pixler sættes til hvid/gennemsigtig
- Persienner: Pixler sættes til sort i en række striber
- Pixelize: Sammensætning af pixler i firkanter med fælles farveværdi
Ændring af placering
I digitale billeder er det enkelt at bytte rundt på de enkelte pixlers position, men det kan give stærke effekter. Det er dog nødvendig at være omhyggelig med ombytningen så der ikke opstår huller i billedet. Filtre der blot ombytter pixler er eksempelvis:
- Random Spread: Byt pixel med tilfældig pixel indenfor en vis radius.
- Vend vandret/lodret: Ombytning af pixler i højre og venstre side eller top og bund.
- Roter: Ny position udregnet ud fra en vinkling af billedet.
Ændring af form
Manipulation af billeders størrelse er den nok hyppigst brugte funktion i billedebehandlingsprogrammer. Helt centralt for disse er håndteringen af de pixler der mangler eller er til overs: ved formindskning skal værdien af flere pixler reduceres til én, mens der ved en forøgning skal udregnes nye værdier for de pixler, der kiles ind. Denne beregningen af nye pixelværdier kaldes interpolation og følger typisk en af følgende strategier:
- Konstant interpolation: forsætter samme værdi, indtil næste pixel.
- Lineær interpolation: kaldes også nærmeste-nabo, da en ny pixels værdi sættes til gennemsnittet af de to pixler den kiles ind imellem.
- Bilineær interpolering: sætter ny pixels værdi til et gennemsnit af de 4 pixler til højre/venstre og ovenfor/nedenfor.
- Bikubisk interpolering: sætter ny pixels værdi til et gennemsnit af de 8 nærmeste pixlers.
Typisk giver den bikubiske interpolering det bedste resultat, men ved eksempelvis tegninger kan en lineær interpolering give et bedre resultat. Interpolering sker ikke kun ved ændring af størrelse, men også i en række forvrængningsfiltre. De virker ved at udvide nogle pixlers farveværdier til at fylde flere pixler, mens andre lægges sammen i en pixel:
- Forøgning/-mindsking: Nye pixler indsættes i første del mens pixler klappes sammen i sidste del.
- Fisheye/Lens disortion: Pixler nær centrum øges til at fylde flere pixler, men pixler i periferien lægges sammen.
- Curve bend: Pixlers farveværdier lægges sammen ved kurvens nederste punkter og øges til flere ved kurvens toppunkter.