Generating a painting from a picture
Hey, I'm working on a project in which the objective is to create a painting from a picture taken with a normal camera. This painting could be an oil painting or we could try and mimic some specific artist. I understand this might not be achievable in a very good way by just image processing itself but I'm curious about what is achievable with stroke and simple pattern recognition for a base result. Is there support in scikit-image along these lines? Any other inputs are welcome. Best, Rishabh
Hi Rishabh, I don't think there is a generic enough algorithm that would do this (each artist has her/his own specific style, and a specific algorithm would have to be designed for every style I think). Nevertheless, some of the functions in skimage can be used for this purpose. For example, http://scikit-image.org/docs/dev/auto_examples/plot_ncut.html shows how to get a posterized, comics-like image. You can also find geometric transformations in skimage.transform, if you want to implement some distortion effect for example. (http://scikit-image.org/docs/dev/auto_examples/applications/plot_geometric.h...) Hope you have fun with this project! Emmanuelle On Sat, Dec 13, 2014 at 07:16:54AM -0800, Rishabh Raj wrote:
Hey,
I'm working on a project in which the objective is to create a painting from a picture taken with a normal camera. This painting could be an oil painting or we could try and mimic some specific artist.
I understand this might not be achievable in a very good way by just image processing itself but I'm curious about what is achievable with stroke and simple pattern recognition for a base result.
Is there support in scikit-image along these lines? Any other inputs are welcome.
Best, Rishabh
Hi You might want to have a look at this http://phys.org/news/2012-03-software-automatically-movie-comic.html Thanks Vighnesh On Saturday, December 13, 2014 8:55:11 PM UTC+5:30, Emmanuelle Gouillart wrote:
Hi Rishabh,
I don't think there is a generic enough algorithm that would do this (each artist has her/his own specific style, and a specific algorithm would have to be designed for every style I think).
Nevertheless, some of the functions in skimage can be used for this purpose. For example, http://scikit-image.org/docs/dev/auto_examples/plot_ncut.html shows how to get a posterized, comics-like image.
You can also find geometric transformations in skimage.transform, if you want to implement some distortion effect for example. ( http://scikit-image.org/docs/dev/auto_examples/applications/plot_geometric.h...)
Hope you have fun with this project! Emmanuelle
On Sat, Dec 13, 2014 at 07:16:54AM -0800, Rishabh Raj wrote:
Hey,
I'm working on a project in which the objective is to create a painting from a picture taken with a normal camera. This painting could be an oil painting or we could try and mimic some specific artist.
I understand this might not be achievable in a very good way by just image processing itself but I'm curious about what is achievable with stroke and simple pattern recognition for a base result.
Is there support in scikit-image along these lines? Any other inputs are welcome.
Best, Rishabh
I read a few publications on the subject. Processing an image per pixel to generate a few effects seems to be straightforward. But most of the literature is based on modelling brush strokes in paintings which are modeled as cubic B spline curves [1]. Do we have support for generating curves while processing an image? [1] http://www.mrl.nyu.edu/publications/hertzmann-thesis/hertzmann-thesis-72dpi.... - Section 3. Fast and Loose Painterly Image Processing On Saturday, December 13, 2014 8:55:11 PM UTC+5:30, Emmanuelle Gouillart wrote:
Hi Rishabh,
I don't think there is a generic enough algorithm that would do this (each artist has her/his own specific style, and a specific algorithm would have to be designed for every style I think).
Nevertheless, some of the functions in skimage can be used for this purpose. For example, http://scikit-image.org/docs/dev/auto_examples/plot_ncut.html shows how to get a posterized, comics-like image.
You can also find geometric transformations in skimage.transform, if you want to implement some distortion effect for example. ( http://scikit-image.org/docs/dev/auto_examples/applications/plot_geometric.h...)
Hope you have fun with this project! Emmanuelle
On Sat, Dec 13, 2014 at 07:16:54AM -0800, Rishabh Raj wrote:
Hey,
I'm working on a project in which the objective is to create a painting from a picture taken with a normal camera. This painting could be an oil painting or we could try and mimic some specific artist.
I understand this might not be achievable in a very good way by just image processing itself but I'm curious about what is achievable with stroke and simple pattern recognition for a base result.
Is there support in scikit-image along these lines? Any other inputs are welcome.
Best, Rishabh
SciPy has some good B-spline (and many other interpolation) routines. We haven't re-implemented these, because we depend on SciPy. Feel free to mix-and-match these routines with scikit-image functions. Check out the `scipy.signal` module for 1d, or `scipy.interpolate` for multi-dimensional: http://docs.scipy.org/doc/scipy-0.14.0/reference/interpolate.html http://docs.scipy.org/doc/scipy-0.14.0/reference/signal.html Looks interesting! Josh On Monday, December 15, 2014 2:22:12 AM UTC-6, Rishabh Raj wrote:
I read a few publications on the subject. Processing an image per pixel to generate a few effects seems to be straightforward.
But most of the literature is based on modelling brush strokes in paintings which are modeled as cubic B spline curves [1]. Do we have support for generating curves while processing an image?
[1] http://www.mrl.nyu.edu/publications/hertzmann-thesis/hertzmann-thesis-72dpi.... - Section 3. Fast and Loose Painterly Image Processing
On Saturday, December 13, 2014 8:55:11 PM UTC+5:30, Emmanuelle Gouillart wrote:
Hi Rishabh,
I don't think there is a generic enough algorithm that would do this (each artist has her/his own specific style, and a specific algorithm would have to be designed for every style I think).
Nevertheless, some of the functions in skimage can be used for this purpose. For example, http://scikit-image.org/docs/dev/auto_examples/plot_ncut.html shows how to get a posterized, comics-like image.
You can also find geometric transformations in skimage.transform, if you want to implement some distortion effect for example. ( http://scikit-image.org/docs/dev/auto_examples/applications/plot_geometric.h...)
Hope you have fun with this project! Emmanuelle
On Sat, Dec 13, 2014 at 07:16:54AM -0800, Rishabh Raj wrote:
Hey,
I'm working on a project in which the objective is to create a painting from a picture taken with a normal camera. This painting could be an oil painting or we could try and mimic some specific artist.
I understand this might not be achievable in a very good way by just image processing itself but I'm curious about what is achievable with stroke and simple pattern recognition for a base result.
Is there support in scikit-image along these lines? Any other inputs are welcome.
Best, Rishabh
Here's a paper http://cs.brown.edu/~hays/papers/IVBPA_Final.pdf for transforming images and videos into painterly animations depicting different artistic styles. Thanks, Pratap On Saturday, December 13, 2014 8:46:55 PM UTC+5:30, Rishabh Raj wrote:
Hey,
I'm working on a project in which the objective is to create a painting from a picture taken with a normal camera. This painting could be an oil painting or we could try and mimic some specific artist.
I understand this might not be achievable in a very good way by just image processing itself but I'm curious about what is achievable with stroke and simple pattern recognition for a base result.
Is there support in scikit-image along these lines? Any other inputs are welcome.
Best, Rishabh
participants (5)
-
Emmanuelle Gouillart
-
Josh Warner
-
Pratap Vardhan
-
Rishabh Raj
-
Vighnesh Birodkar