Mosaify Image Filter

Jonathan Frech
Abstract.
Guest post written and illustrated by ⁠ ⁠Jonathan Frech.
This Python program mosaifies a given image. By pseudo-randomly drawing lines, polygons are defined which are then filled with the original image’s colors.

Gastbeitrag von ⁠ ⁠Jonathan Frech ge­schrieben und bebildert.
Dieses Python-Programm mosaifiziert ein gegebenes Bild. Dieser Effekt wird dadurch erreicht, dass pseudo­zufällige Strecken gezeichnet werden, welche durch ihre Schnitt­punkte Polygone definieren. Eben­diese werden anschließend mit den Farbdaten des ursprünglichen Bildes gefüllt.

Mosaify is an image filter written in ⁠ ⁠Python 2.71 utilizing the Python Imaging Li­brary2. It takes in an input image and outputs a mosaified version of it. (🗎⁠ ⁠Source­code)

Starting with a blank canvas the size of the original image, lines are randomly drawn, which will most likely intersect to form polygons of different sizes and shapes. Said polygons are filled with the original image’s color at each polygon’s most top-left pixel position.

As a final touch, the lines drawn at the beginning are filled in with one pseudo-randomly chosen surrounding pixel. Because of this, edges are a bit frazzled.

Other appearances can be achieved by changing parameters n and k, which define the number of lines drawn and their distribution (both floating-point numbers larger than zero, by default n = 5 and k = 1). It may also help to run the filter a few times to get a visually pleasing output, as the polygons are pseudo-randomly determined.

The program usage is as follows: python mosaify.py <image file name> [n] [k]

Martin and ivy, mosaified with n=5 and k=1 (which are the default parameters)
Martin and ivy, mosaified with n = 5 and k = 1 (which are the default parameters)
Martin and ivy, mosaified with n=5 and k=1 (which are the default parameters)
Martin and ivy, mosaified with n=10 and k=1
Martin and ivy, mosaified with n = 10 and k = 1
Martin and ivy, mosaified with n=10 and k=1
Martin and ivy, before processing
Martin and ivy, before processing
Martin and ivy, before processing

Fußnoten.
1(2025-03-02, Jonathan Frech): Python 2 hat mich viele Jahre begleitet. 2020 wurde die Sprache abgewickelt. Viel Menschheitszeit und -arbeit wurde vernichtet, da ihre Nachfolgerin in vielerlei, oft subtiler Weise inkompatibel ist. Ich habe gerne Python 2 ge­schrieben und ab 2017 gerne gegolft. Python 2 hatte für mich einen Charme, der unwiederbringlich fort ist.
2Python Imaging Li­brary (PIL): https://www.pythonware.com/products/pil/. No longer live as of 2025-03-02. Internet archive: ⁠ ⁠web.archive.org/web/20170815072749/https://pythonware.com/products/pil/ [2025-03-02]
Zitierempfehlung (.BibTeX, .txt):
Frech, Jonathan: »Mosaify Image Filter«. In: Notizen zur Fotografie, 2017-08-15. Online: https://www.medienfrech.de/foto/NzF/2017-08-15_Jonathan-Frech_Mosaify-Image-Filter.html
Zitierempfehlung:
@article{NzF.2017-08-15,
	author  = {Frech, Jonathan},
	date    = {2017-08-15},
	title   = {Mosaify Image Filter},
	journal = {Notizen zur Fotografie},
	url     = {https://www.medienfrech.de/foto/NzF/2017-08-15\_Jonathan-Frech\_Mosaify-Image-Filter.html},
	urldate = {$0},
}
Zitierempfehlung:
Frech, Jonathan: »Mosaify Image Filter«. In: Notizen zur Fotografie, 2017-08-15. Online: https://www.medienfrech.de/foto/NzF/2017-08-15_Jonathan-Frech_Mosaify-Image-Filter.html$1