GSoC 2013: Depixelizing Pixel Art
Hi Inkscape Developers,
I'm Vinícius dos Santos Oliveira and I'm majoring in computer science at Universidade Federal de Alagoas, Brazil. I'm not very skilled, but I use (and like) the Inkscape software for some time ( http://vinipsmaker.deviantart.com/gallery/?catpath=/ ). I have experience with GUI programming and C/C++/Python/..., so I think I can develop to Inkscape. I'll try to fix some "easy-fix" tagged bugs next week.
I thought about an idea for a GSoC proposal and I wanna know your opinion about this idea. Inkscape currently use potrace for all raster-to-vector conversions, but potrace isn't good to work with pixel-art. Some reasearchers developed an algorithm that perform better with pixel-art: http://research.microsoft.com/en-us/um/people/kopf/pixelart/
My proposal would be to develop an C++ library implementing this algorithm and:
1. Create an cli program using this library 2. Integrate the feature in Inkscape using this library
The main tasks to implement this algorithm are:
- Construct a graph - Reshape the graph with the help of some heuristics defined in the paper - Extract the spline curves - Optimize the curve - Convert the B-Splines curves to Bézier curves
The library should export the curve as B-Splines and Bézier curves. This way, if Inkscape gain support for B-Splines curves in the future, it should be easy to convert the filter to generate the B-Splines instead of Bézier curves.
After finish the proposal, Inkscape should have another option to convert raster images.
I'm already used to a lot of programming languages and programming paradigms and programming skills won't be a problem for me. Graphs wouldn't be a problem for me either (I have some background on data structures and related). I would take more time to master B-Splines and Bézier curves, but I don't think this should take more than two weeks.
If I finished this proposal fast enough, I could even add extra features like add an option to pre-proccess the input with hqx filter before send it to the cited algorithm.
You can see some demos of the algorithm at http://research.microsoft.com/en-us/um/people/kopf/pixelart/supplementary/in... and the results are amazing.
Hi Vinícius. Good examples. Think is a very good addition. For the bspline there is a branch but still not presented to merge at trunk because are waiting to a reviewer.
Here is the branch: lp:~jabiertxof/inkscape/bspline+spirolive Here is the post in the forum: http://www.inkscapeforum.com/viewtopic.php?f=11&t=13496
See you, Jabier.
El mié, 17-04-2013 a las 22:26 -0300, Vinícius dos Santos Oliveira escribió:
Hi Inkscape Developers,
I'm Vinícius dos Santos Oliveira and I'm majoring in computer science at Universidade Federal de Alagoas, Brazil. I'm not very skilled, but I use (and like) the Inkscape software for some time ( http://vinipsmaker.deviantart.com/gallery/?catpath=/ ). I have experience with GUI programming and C/C++/Python/..., so I think I can develop to Inkscape. I'll try to fix some "easy-fix" tagged bugs next week.
I thought about an idea for a GSoC proposal and I wanna know your opinion about this idea. Inkscape currently use potrace for all raster-to-vector conversions, but potrace isn't good to work with pixel-art. Some reasearchers developed an algorithm that perform better with pixel-art: http://research.microsoft.com/en-us/um/people/kopf/pixelart/
My proposal would be to develop an C++ library implementing this algorithm and: 1. Create an cli program using this library 2. Integrate the feature in Inkscape using this library
The main tasks to implement this algorithm are: * Construct a graph * Reshape the graph with the help of some heuristics defined in the paper * Extract the spline curves * Optimize the curve * Convert the B-Splines curves to Bézier curves The library should export the curve as B-Splines and Bézier curves. This way, if Inkscape gain support for B-Splines curves in the future, it should be easy to convert the filter to generate the B-Splines instead of Bézier curves.
After finish the proposal, Inkscape should have another option to convert raster images.
I'm already used to a lot of programming languages and programming paradigms and programming skills won't be a problem for me. Graphs wouldn't be a problem for me either (I have some background on data structures and related). I would take more time to master B-Splines and Bézier curves, but I don't think this should take more than two weeks.
If I finished this proposal fast enough, I could even add extra features like add an option to pre-proccess the input with hqx filter before send it to the cited algorithm.
You can see some demos of the algorithm at http://research.microsoft.com/en-us/um/people/kopf/pixelart/supplementary/in... and the results are amazing.
-- Vinícius dos Santos Oliveira https://about.me/vinipsmaker
Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis & visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
2013/4/18 Jabiertxo Arraiza Cenoz <jabier.arraiza@...2893...>
Hi Vinícius. Good examples. Think is a very good addition. For the bspline there is a branch but still not presented to merge at trunk because are waiting to a reviewer.
Here is the branch: lp:~jabiertxof/inkscape/bspline+spirolive Here is the post in the forum: http://www.inkscapeforum.com/viewtopic.php?f=11&t=13496
This is a good thing to know. Sure I'll use your code as a reference in my study.
And if your code is merged soon enough, the "Depixelizing Pixel Art" proposal would generate B-Splines from the begin and let your work do the conversions, when necessary. =)
I configured a launchpad account and I'll try to fix some bugs in Inkscape to warm up. I'm used to subversion, mercurial and git, but I never used bazaar before (one more thing to learn).
Sorry for the late reply Jabiertxo.
2013/4/17 Vinícius dos Santos Oliveira <vini.ipsmaker@...400...>
I thought about an idea for a GSoC proposal and I wanna know your opinion about this idea.
I submitted the proposal and I'd appreciate if anyone give me some feedback: http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/vinipsmak...
Hi Vinícius.
A very good explain! And thanks for consider BSpline in your proyect.
By, Jabier.
-----Mensaje original----- De: Vinícius dos Santos Oliveira <vini.ipsmaker@...400...> Para: Inkscape inkscape-devel@lists.sourceforge.net Asunto: Re: [Inkscape-devel] GSoC 2013: Depixelizing Pixel Art Fecha: Thu, 2 May 2013 05:00:58 -0300
2013/4/17 Vinícius dos Santos Oliveira <vini.ipsmaker@...400...> I thought about an idea for a GSoC proposal and I wanna know your opinion about this idea.
I submitted the proposal and I'd appreciate if anyone give me some feedback: http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/vinipsmak...
2013/5/2 Jabier Arraiza <jabier.arraiza@...2893...>
[...] And thanks for consider BSpline in your proyect.
No problem. =)
2013/5/2 Ivan Louette <ivan_louette@...48...>
And it would be also very nice if the nearest conversion (with pixel like quadrangles) was also available !
And I should definitely add a konami code activated easter egg. =P
Very interesting indeed! And it would be also very nice if the nearest conversion (with pixel like quadrangles) was also available !
If I remember well it's available in Flash.
ivan
________________________________ De : Vinícius dos Santos Oliveira <vini.ipsmaker@...400...> À : Inkscape inkscape-devel@lists.sourceforge.net Envoyé le : Jeudi 2 mai 2013 10h00 Objet : Re: [Inkscape-devel] GSoC 2013: Depixelizing Pixel Art
2013/4/17 Vinícius dos Santos Oliveira <vini.ipsmaker@...400...>
I thought about an idea for a GSoC proposal and I wanna know your opinion about this idea. I submitted the proposal and I'd appreciate if anyone give me some feedback: http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/vinipsmak...
2013/5/2 Vinícius dos Santos Oliveira <vini.ipsmaker@...400...>
I submitted the proposal and I'd appreciate if anyone give me some feedback:
http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/vinipsmak...
I extended the proposal to address concerns that user ~suv had about copyright/patent issues.
PS.: Thanks for the feedback, everyone.
participants (4)
-
Ivan Louette
-
Jabier Arraiza
-
Jabiertxo Arraiza Cenoz
-
Vinícius dos Santos Oliveira