How to make big Pictures
criker started this discussion in Model Export and Render

Server Crashed 23.03.2017 Don't have much time right now, so it will take a while to get it back working.

Introduction:
In the past, I made a Picture of a nice looking girl with about 7700 1x1 Flat Plates. It took me about 15 hours to get each Brick the right color.
The end of the story was that I got complaints that the girl's appearance was not appropriate for younger viewers.
I got a little frustrated after an hour while making a new Picture. So I thought of a way to get this done quicker.

What has been done?:
Basically, I wrote two Programs, the first one is a Program that is written in c++. This Program writes the RGB values of an image to a text file.
The second one is written in Perl, it grabs the text file with the RGB values. Then it checks how many different colors were used. After that it replaces all Colors of the same value with predefined colors for metabricks. Then it creates as many Plates as the original images has Pixels and gives each plate the previously mentioned color. After that everything is written to a File, which can be imported into metabrics.

What is needed?:
I.) A Picture. 😃

Workflow:

upload your Picture->Download the lxf file you get->import the File at mecabrics

Picture: Get any Picture you like, but be careful with copyright Laws!
Go to the Website i made : http://criker.selfhost.eu/mecabricks/httpdocs/submit.html and Upload your resized and recolored Photo.
Download the file you get.
Imort the File: Go to mecabricks.com->go to the workshop-> click on File->click on Import->select Lego Digital Designer->hit import again->navigate to the lxf file you got and upload it.

Options:
You can turn auto-mode of if you have reduced the size to less than 64k Pixels and the colors to less than 112 and want to do the coloring yourself. You should uncheck the box if you want to do pop art pictures.

Additional Words and thoughts:
I'm a private person, so I don't give any guaranty for the use of my Software, use it at your own risk!
I don't want my software to be used in commercial Products, without my knowledge!
The Software is in an early state. I just wanted to see if I can do it 😃
There is no Privacy Protection at the website. Your Image won't be stored, but your lxf files are. Please don't upload anything someone else shouldn't see. Don't upload illegal stuff (German law).

For all of you who still don't know what to do here is a short Video. (No Audio)

[youtube]VL0U4pzFR7Y[/youtube]

20 replies · Page 1 of 1

Impressive! 😄 Really looking forward to try something with it.
The information about perl may be a little bit technical for people that don't know anything about programming. So, if you're going to improve the code, I would get rid of perl and make a fully functional c++ program.

Yes you are right 2 different Programs and all of that makes it difficult for people to use!
It's more a proof of concept at this Point.

I'm thinking of making a web-application with it. So you just have to upload your Picture with the Correct Size and not more than 32 Colours and can download the lxf then. But I'm not sure if my mini server is capable of that and it will take some time to do. Maybe I find some time at the beginning of September.

Avatar of Scrubs
Administrator

Hi. Thanks for that. I actually have something like that not too far from being ready for mecabricks: choose a file, select which colour of the lego palette you want to use if not all. I never put it online but I might actually finish the interface if you are keen. Not too sur if it will be as good as yours.

Made some Improvements,

Perl isn't needed anymore, infact no program is needed 😃 .
Just go to http://criker.selfhost.eu/mecabricks/httpdocs/submit.html and upload your prepared Photo and you get the lxf file.

Thanks!

Just tried a few random pictures. 2 being cats and one being a simple 64*64 pixel picture with a few colors.
It works, and it's for an early state quite great. The colors seems to be way off right now, but the conversion of picture to brickified lxf seems to work well!
Looking forward to further developments.

I assume you're still running that perl script in a cgi script right now?

Cgi->Perl) You are right, didn't want to invest to much time into it, thought this would be the fastest way. The User doesn't have to care about the Perl things anymore.

Color off-> Yes I know, but that's on purpose. The script tries to use non Solid Colors first. There are 2 reasons for that:
1.) If you have a Picture with lets say 10 different shades of Red. On mecabricks you only have about 4 shades of red. A precise script would make some of them the same color and so reduce the amount of colors in the Picture even more. I wanted this decision to be done by the User.
2.) If the script would use normal Solid Colors, you would run into problems in the recoloring process. It is possible, when you want to change and choose a color that is already in the picture, you would reduce the amount of colors in picture by accident.

I will try to make a version that automatically reduces the colors of the original into Lego color space, but this will take some time.

Thank you for your input!

Made an auto coloring/sizing option (on by default), no more color changing or resizing necessary.

Very cool, working here!

I was actually looking for something like this when I did Farewell, Starman. I tried Legoaizer, but it doesn't come with an export option allowing it to get the result into MB somehow (it can generate brick tables, though), so I ended up doing it manually.

Possible enhancements:

  • Use part #3024 (with studs) instead of #3070 (flat), optionally round plates (#4073)
  • Alpha transparency support, i.e. no bricks (or a specific, selectable color?) for transparent pixels (currently uses black)
  • Grayscale bricks only option
  • Lower brick counts
Avatar of Scrubs
Administrator

Hi,

As I said a couple of days ago, I put my simple mosaic editor online. You can find the tool in the left hand side tool bar of the workshop.
Select your image file, set the couple of options available and click the "make" button.
Cricker is currently working on a really cool algorithm and mine doesn't intent to go as far.

Enjoy.

Working great, thanks Scrubs!

Hi Wlange, thx for the input!

-added 3024, 4073 and some more.
-added Grayscale.
-added Black and White.
-added a compression Algorithm (for 3005,3024,3070), to lower the part count.
-added split file support to bypass the 64500 Part limit for lxf file import. Tryed up to 150K of Parts with good results, will release another Picture later.

Will take care of Transparent pixels later. For the time beeing you could save those Pictures as Jpeg, so they will be automaticly converted to normal RGB by your graphic program.

If you have further ideas or need special bricks, just tell me.

Just tried another time with my cats picture and the result was just 10000 bricks plain white with the top row being all colors of the rainbow. 😛
There are still some things that should be rechecked.

To lower the part count, I might suggest having a look to start using 1x2, 2x2, ... where possible.

Hopefully the good things can be combined of both your tool and Scrubs his tool into mecabricks. There are plenty of alternative tools on the internet, but yours appears to be best to get a nice and decent result! My computer is crashing on your latest creation, but don't bother to break the limits. 😉

could you please send me your picture, so i can narrow down the error. Everything worked fine for the 10 Pictures i tested. have to take a look at what it is. I will send you a private , massage with my email address.

Avatar of Scrubs
Administrator

A private massage lol You do whatever you want guys but I don't want to know about it.

Great additions, criker!

Can the size (first drop-down list) be lower than 10000 in order to achieve a lower "brick resolution"? Scrubs's version allows to define the edge length in no. of 1x1 bricks, so a hires image can be converted to a lores mosaic, such as Super Mario World Mario. Not an indispensible must-have for me, though.

  • you can now freely choose the resolution between 1 - 600K .
  • added transparency support. You can choose a threshold value for transparent pixels to be deleted or kept. Background color isn't considered for now however, will take care about that later.

Really cool, working great here!

Der Criker, your webstie is unvisitable now?

Wow! This is really incredible. This is something that I would be curious to try, but I do not have a computer that could support this kind of file. Still though, from what I saw in the video, that must have taken a while to code. (I'm still learning C#! 😛)

Advertising
7 participants
Avatar of criker
Avatar of wlange
Avatar of Sim
Avatar of Scrubs
Avatar of Krisego

LEGO, the LEGO logo, the Minifigure, and the Brick and Knob configurations are trademarks of the LEGO Group of Companies. ©2024 The LEGO Group.

Mecabricks, the Mecabricks logo and all content not covered by The LEGO Group's copyright is, unless otherwise stated, ©2011-2024 Mecabricks.