File Exchange Pick of the Week

Our best user submissions

Impressionism

Posted by Sean de Wolski,

Sean‘s pick this week is impressionism by David Mills.

My pick this week is a fun one that takes your images and transforms them into how they may have looked if painted by an impressionist. Here are some of my photos impressionized. I’ll use the imageDatastore and a custom ‘ReadFcn’ to do everything in one shot for me.

function Iimp = impressionizeAndCompare(filename)
imshow(filename)
title('Original')
snapnow
Iimp = impressionism(filename);
imshow(Iimp)
title('Impressionized')
snapnow
end
imds = imageDatastore(pwd,'ReadFcn',@impressionizeAndCompare);
readall(imds);

David has provided a bunch of options for tuning how the painting looks as well.

Iimp = impressionism('membrane.png', 'brush sizes', [16 8 4], ...
           'max length', 80, 'blur factor', 1.5);
imshow(Iimp)

I’m sure marketing won’t be too fond of that.

Iimp = impressionism('dsfadf.png', 'brush sizes', [16 8 4], 'max length', 80);
imshow(Iimp)

My only suggestion for David is that the function should take a matrix as input as well as a filename (similar to imshow).
The function takes a while to compute on large images and by only taking the filename, I need to first read in the image,
imresize it, write it out, and then call impressionism.

Comments

Give it a try and let us know what you think here or leave a comment for David.

Get the MATLAB code

Published with MATLAB® R2017b

Add A Comment

What is 3 + 5?

Preview: hide