Making Generative Portraits Using Processing

Hi everyone! 👋 Haven’t talked to you guys for a while. Hope things are going well on your end. Last semester I was studying abroad in Budapest but now I am back at Colgate. I had the time of my life traveling all over Europe and meeting/staying with interesting people. I will try to write an article about that soon. Till then sit tight and enjoy this article about generative art.

I am taking an advanced studio projects class at Colgate. For this class, I had the opportunity to pick whatever medium I wanted to focus on. I was slightly confused between picking up drawing (scribble art) and digital (generative) art. I have been focusing on both for a while now so it was hard to figure out which one I wanted to spend my whole semester on. The anxiety was real! You can see some of my scribble art and generative art below.

Scribble Art

Instead of deciding to pick up one of these I decided to challenge myself by picking both! I asked myself, is it possible to come up with an algorithm that can generate scribble art from a source image? Early research suggested that it was doable and for the first assignment I settled on working with generative scribble art for this class.

I searched around and found some resources. I haven’t worked with processing too much. I have spent only a month or two at max exploring the program so it was a nice opportunity to get to know the program better as well.

A useful resource was this. Jason shared high-level details for the algorithm he was using to make portraits like this:

Stirman Portrait

The other night I sat down and decided to come up with an algorithm for this (inspired by Jason’s algorithm) and this is the output I got:

Source Image

Output Image

If you re-run the algorithm it will produce a slightly different output (this is where the term generative comes in):

My algorithm varies slightly from Jason’s algorithm in the way it generates scribbles outside the main portrait. I like these kinds of scribbles so I explicitly tried to add them in at random locations.

This is just the very basic version of the algorithm. There are a bunch of things I want to change:

  1. Make sure there are fewer scribbles over “white” areas in the source image
  2. Vary the weight of the scribbles
  3. Maybe try different colors
  4. Reduce the total number of scribbles

By the end of this semester, I also plan on making a plotter so that I can add more “physical” touch to my generative art pieces. Currently, it feels very detached from me as an artist and I think making a plotter will help change that and will also indulge the “engineer” side of me.

If you have any ideas/improvements/suggestions I am all ears 😄 I will see you in the next article! ❤️



If you liked what you read then I am sure you will enjoy a newsletter of the content I create. I send it out every other month. It contains new stuff that I make, links I find interesting on the web, and occasional discount coupons for my book. Join the 5000+ other people who receive my newsletter:

I send out the newsletter once every other month. No spam, I promise + you can unsubscribe at anytime

✍️ Comments

Be the first to leave a comment! 🎉

Say something

Send me an email when someone comments on this post.

Thank you!

Your comment has been submitted and will be published once it has been approved. 😊