Resources and Support | |
![]() |
![]() |
![]() ![]() |
Author | Message |
1ucas
Commander ![]() ![]() Joined: 27 June 2005 Location: Brazil Online Status: Offline Posts: 174 |
![]() ![]() ![]() Posted: 16 March 2010 at 7:09pm |
Hey guys.
This may sound like a bizarre request, but it would help me greatly in my little experiment. :) Could you guys create 2x and/or 3x scaled versions of this image, without adding any new color? ![]() Please, try to preserve the perceptual curvatures and line thickness as much as you can. I want to study everyone's techniques used for this kind of thing. I'm working on a pixel art scaling algorithm, and I just need a few goal posts. All the existing ones are quite naive, I'm trying something different. I already have a rough draft of one, but it still has its quirks. Well, thanks in advance! Edited by 1ucas - 16 March 2010 at 9:12pm |
|
![]() |
|
jalonso
Admiral ![]() ![]() Joined: 29 November 2022 Online Status: Offline Posts: 13537 |
![]() ![]() ![]() |
Interesting request. Sounds sooooooo easy, but is probably tougher than it looks. I'll post mine tomorrow,
|
|
|
|
![]() |
|
1ucas
Commander ![]() ![]() Joined: 27 June 2005 Location: Brazil Online Status: Offline Posts: 174 |
![]() ![]() ![]() |
It is tougher than it looks, and it is even tougher for a computer to do it automatically.
![]() That's why I'm trying to study just how we do it, so I can extract some useful information for the algorithm. For example, you can't just duplicate the curves in size and add new pixels. You have to remove a few so the curvature looks right again, and the removal is uneven depending on which side of the curve you're dealing with. Here's an example: ![]() (green pixels were added, red ones were removed) Deciding which pixels to add and remove has been challenging, and getting a few examples would help me find the ideal technique. Edited by 1ucas - 16 March 2010 at 8:24pm |
|
![]() |
|
greenraven
Commander ![]() ![]() Joined: 08 September 2016 Online Status: Offline Posts: 2598 |
![]() ![]() ![]() |
Actually since you said you wanted to do 2x or 3x that's exactly what I'd do. One pixel would be 2x2 or 3x3. Or maybe I misunderstood something? :\
|
|
![]() ![]() |
|
![]() |
|
1ucas
Commander ![]() ![]() Joined: 27 June 2005 Location: Brazil Online Status: Offline Posts: 174 |
![]() ![]() ![]() |
I'm talking about adding and removing extra pixels after you do that, so the image looks larger but still smooth.
For example: ![]() You start small, double the image, and fill in extra pixels between the doubled ones so the line looks sharp again. It's a form of interpolation, but a more pixel art specific one. |
|
![]() |
|
greenraven
Commander ![]() ![]() Joined: 08 September 2016 Online Status: Offline Posts: 2598 |
![]() ![]() ![]() |
Oh, well that kinda changes everything. I though you just wanted literally 2x or 3x. Nevermind. XD
|
|
![]() ![]() |
|
![]() |
|
onek
Commander ![]() ![]() Joined: 19 May 2009 Online Status: Offline Posts: 416 |
![]() ![]() ![]() |
more challenging than i thought at first, indeed.... heres my try on a 2x scaled version
![]() (green - added/ red - removed) tried to keep curvatures and thickness as good as i could.... the curves could be done better but i tried to keep a certain regularity in my process.... i somewhat feeled there was pattern to what i did, but im not rly able to explain it :( Edited by onek - 18 March 2010 at 9:49am |
|
![]() |
|
1ucas
Commander ![]() ![]() Joined: 27 June 2005 Location: Brazil Online Status: Offline Posts: 174 |
![]() ![]() ![]() |
Originally posted by onek
more challenging than i thought at first, indeed.... heres my try on a 2x scaled version Awesome! That's exactly what I needed! Thanks for highlighting the pixels too. :) Originally posted by onek
i somewhat feeled there was pattern to what i did, but im not rly able to explain it :( Yeah, I know what you mean. This survey is my attempt at figuring out just how we do it, and put that into an algorithm. Thank you a lot, onek! |
|
![]() |
|
onek
Commander ![]() ![]() Joined: 19 May 2009 Online Status: Offline Posts: 416 |
![]() ![]() ![]() |
ur welcome... im glad helping u ...i hope ull be successful with that algorithm.... though, i think it might be very difficult especially when it comes to multicolor stuff, like where is to be decided which colors gotta be kept and which removed etc.....
anyway i hope it will work out , since i also dont like that 2xsal/ hqnx etc. stuff very much... |
|
![]() |
|
AngelOTG
Commander ![]() ![]() Joined: 28 February 2009 Online Status: Offline Posts: 258 |
![]() ![]() ![]() |
I see a pattern in Onek's edit. Notice how all the pixels removed (the red) have the exact same amount of pixels added (the green) above them, with one additional added.
So if he has taken away two pixels below, he adds three pixels above that. If he takes away one, he adds two to the flip side. The only ones that do not conform to this pattern are the 45 degree angles. |
|
![]() |
|
Hatch
Admiral ![]() ![]() Joined: 05 August 2015 Online Status: Offline Posts: 1387 |
![]() ![]() ![]() |
Have you examined some of the existing pixel art scaling algorithms?
|
|
![]() |
|
1ucas
Commander ![]() ![]() Joined: 27 June 2005 Location: Brazil Online Status: Offline Posts: 174 |
![]() ![]() ![]() |
If you had read the original post, you'd have noticed I already mentioned these (even with the same link) and how they are too naive. The current algorithms all work with a local matrix, so they don't preserve curves too well and shapes look generally blotchy. I'm trying to create a smarter one, that takes curvature and visual color weight into account, perhaps even automatic palette reuse. It's more of an interesting side project than a necessity, but I'm sure such an algorithm would prove itself useful. Either way, it should be fun to attempt something new. |
|
![]() |
|
Hatch
Admiral ![]() ![]() Joined: 05 August 2015 Online Status: Offline Posts: 1387 |
![]() ![]() ![]() |
Oops! My bad. I quickly scanned this while at work and replied without reading fully. Apologies!
Anyhow, I wasn't suggesting that you should use them and not bother writing your own, but that they might be useful starting points for writing a new algorithm. I agree that they're fairly unsatisfying for a lot of things. But you already knew about them, obviously, so my post was spectacularly pointless. I shall make amends by attempting to scale your image as requested. EDIT: And here it is. ![]() I found that when trying to precisely preserve line weight, I was off by half a pixel, which is why mine seems to sort of jump around. Edited by Hatch - 19 March 2010 at 4:02pm |
|
![]() |
|
Manupix
Commander ![]() ![]() Joined: 05 November 2024 Online Status: Offline Posts: 771 |
![]() ![]() ![]() |
Interesting experiment.
Thanks to Hatch's post, I discovered scaling algorithms. I too hadn't read your first post carefully. Here's mine: ![]() First try was by using photoshop resizing (tried all options other than nearest neighbor) then 'cleaning' by using levels, or other suitable settings. Much worse than I'd have thought. Then handiwork. I also find that I tend to grow outward to preserve curve smoothness; I was surprised that you can't just add pixels to an iso 1/2 line (tried 3 options for the diamond); and had to move a few 1/1 lines by 1 px to preserve pointy angles. |
|
![]() |
|
![]() ![]() |
||
Forum Jump |
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |