Coder Social home page Coder Social logo

debkbanerji / lego-art-remix Goto Github PK

View Code? Open in Web Editor NEW
258.0 18.0 59.0 100.97 MB

Powerful computer vision assisted Lego mosaic creator · Over 1 million images created (so far!)

Home Page: https://lego-art-remix.com

License: GNU General Public License v3.0

HTML 29.94% JavaScript 70.06%
computer-vision lego-art custom-pictures lego javascript onnx lego-art-remix lego-mosaic deep-neural-network

lego-art-remix's Introduction

Welcome to my GitHub page!

Here you can find source code for some of my weird and wonderful weekend projects

Projects

This is some of the more recent/fun stuff - you can see more under the repositories tab

Contact Me

Email Badge Linkedin Badge Facebook Badge Instagram Badge
P.S. I'm not looking for work opportunities, but I'm happy to talk if you have technical questions about any of my GitHub stuff

lego-art-remix's People

Contributors

debkbanerji avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lego-art-remix's Issues

Better resolution granularity unlocking

Right now the procedure for unlocking the resolution granularity from 16 is to add in a url parameter with the understanding that instructions won't be generated correctly. A better way to do this is a button within the page that unlocks the granularity and disables instruction generation.

Mix in Full Set

Allow selecting a custom set to mix in, to allow for selecting combinations of set

Source: #1

Short circuit step 4

Directly reuse the output of step 3 as the output for step 4 in the case of input stud counts where each color has a larger count than the number of pixels in the image, sidestepping the approximation algorithm for perf.

Missing instructions

Hi,

Love this site, but ran into a small problem.
When trying a very large mosaic (160 x 160), the instructions part-5, do not get downloaded. Part-6 is only the last plate. And the rest works perfect.

thnx in advance.

Instructions for 3D Images

Generating instructions and bricklink exports for what backing plates need to be used for the 3d image feature

Cropping/other formats

Awesome work! AWESOME!

Would it be possible to add more formats such as 4:3 images or cropping the final image in some way (So it's changed in the pdf)?

Merging multiple images?

Wacky idea - basically an exaggerated version of #36 for mixed art. Basically we use a linear combination of the color distances between the pixels in the two images to create an optical illusion-ish mix of the two.

Invalidate + Refresh

Add in an option to not update the generated images when options are changed, with a manual refresh button. UI + coding for this shouldn't be too tricky, but it's probably going to be a pain in the neck to fully test.

Changing the section size?

Beautiful, amazing Job! well done.
I think there is a lot of potential for this app to be used by 3d printing nerds (just like me...)
I want to offer to allow adjusting the size of the board, since we can detrmine what board size to print. for example, i preffer to print 24X24 boards, and then use only 4 pieces instead of 6. the only problem is that the PDF instuction outcome won't fit and be quite confusing to follow. Just a thought.
In addition - instead of giving option to crop the image - i would advise to automaticaly change the ratio of the outcome to fit the original image.
Thats all, thanks for your amazing work.

Browser issue

Tried in chrome and edge. Similar to #20 I can't click any of the buttons after uploading an image. First time I have used the app so not a caching issue.

image

Question about color´s

Hi,
Is it possible to use other colors than just the standard LEGO colors?
I have many other colors from China (that are not available from Lego) here but I don't know how I can incorporate them into Lego Art Remix.
Can I even use colors that are not supported by LEGO? Tried using a JSON editor but it doesn't seem to work.

Thanks in advance !

Markus

browser issue

Is this app can only be open with safari browser ?, because I tried with chrome both desktop and mobile and firefox all the hyperlink can’t be opened. Inspect element shows error can’t find map or something.

144 x 144 LEGO ART

To Whom It May Concern:
When PDF-ing larger Lego Art (144 x 144) the color symbols are not consistent on the PDF files. Thank you...

Standard Lego Colors

Code in the standard Lego colors and add an option to align to the closest standard Lego color for custom stud maps. Also update instructions to incorporate this.

color conversion does not work correctly (BUG FOUND)

@debkbanerji Thank you for such a great project!
I found a BUG:
When i try to make a mosaic out of 5 colors (gray-gradient) Black, Dark bluish gray, Light gray, Very light bluish gray and white with 64x64 resolution and 1162pcs of each color something goes wrong. It replaces black studs with white while there are darker colors availible. I totally understand that black color studs are missing BUT WHY it replaces it with white color studs and not darker (close to black) color studs?

Here are the screenshots:

  1. https://ibb.co/Tr6Lx50
  2. https://ibb.co/G7bG26y
  3. https://ibb.co/kH7gVvW (for better understanding, 80% of black and 20% of white)

Sorry for my english =) and thank you for supporting such a great project! That is amazing!

Great tool! Feature requests?

I saw this tool referenced on Brothers-Brick.com -- https://www.brothers-brick.com/2020/08/24/idea-to-actual-how-we-made-some-wonder-woman-lego-art-feature/ and had to try it out.

Amazing tool! I am not currently a mosaic maker, but I think this has me inspired.

I had some ideas for features to add to expand this tool past the Lego Art sets:

  • Step 3 - Means to add multiple copies of the Lego Art sets to the counts
  • Step 4 - Allow for 1x1 plates (part 3024) as an option
  • Step 4 - Allow for 1x1 tiles (part 3070b) as an option
  • Step 4 - Allow for 1x1 bricks (part 3005) as an option
  • Step 3 - Show the color name, either in a column or on hover
  • Step 4- For the PDF output, include a cover page of the rendered drawing.
  • Step 3 - Allow adding of retired colors (https://www.bricklink.com/catalogColors.asp)
  • Step 3 - Indicate the counts needed for each color.
  • Step 4 - For the PDF output, filename input field
  • Step 4 - For the PDF output, include color name on pages (or at least page 1)

Background patterns

Fancier replacement for solid backgrounds - basically replace color ties with an offset based on another input image

Piece pricing

Add in the ability to optimize for the prices of pieces. Can probably implement this under the hood by incorporating the price of a piece into the color distance function - will need to fine tune with real world examples and figure out what UI experience most makes sense.

Use symbols in instructions instead of numbers

I'd like to suggest the option to use symbols or emojis instead of numbers in the instructions. Some people find the numbers abit confusing. It will be great for younger or older persons who has difficulty recognising the numbers.

Master Color Palette

Add a color palette preset with every official Lego color for which a 1x1 stud exists

Import a color list

Just came across this and love it. I had been using a cross stitch pattern site up to this point. One thing it has that I would love to see implemented here is an import option of color studs to use. It used a csv file import as an example of the file, here is the color palette I used on my last project.

#1b2a34,01
#ffffff,02
#8c8c8c,03
#969696,04
#3e3c39,05
#aa7f2e,06
#00852b,07
#a5ca18,08
#720012,09
#b40000,10
#68c3e2,11
#1e5aa8,12

Anyways, just an idea as the current method to remove colors from the list takes awhile. Another option may be to allow multiple changes to be made, then clicking a refresh/redraw image button, instead of waiting for every change being made before making the next adjustment.

"Select Input Image" button will not unlock

Hi, love your work, just wanted to report a bug. No matter how many times I refresh the page the "Select Input Image" button will not let me click. Usually when I come to the site, the button is 'locked' for a second or so (light green), and then turns dark green once it is ready to press. It does not turn dark green anymore, and I can no longer use the site on this computer. I tried clearing my cache and using a different browser. Just wanted to let you know. Again though, thank you for your website!

Thank you and some ideas!

We've been working on a mosaic project this week and found your site SUPER helpful. So first of all we wanted to say thanks! It works great as is! But if you are planning on any future updates, we had a few quality of life suggestions:

  1. Have the ability to save a custom color palate, that way it could be reloaded for a future project.
  2. Have an option to load the full set of currently available 1x1 round colors as a palate option.
  3. The ability to name colors or have the standard color names come in from the above list and then print on the 1st page key.
  4. Have a larger set of pixel frames available - we are doing a 3x(48x48) panel. So we did ours as 3 sets of instructions for each 48x48 panel.

https://photos.app.goo.gl/iTDCYAci8WhrsfRx5 This is how far we got this morning.

Also do you have a paypal/kofi/tipjar thing, we'd be happy to throw a bit your way. We were doing this manually with way less good results before we found your tool!.

ldraw/lxf export?

Is there any chance of getting an ldraw or lxf export? I'd like to edit the mosaic, but prefer using ldcad for the little stuff.

.xlsx output

People on the internet sometimes use excel to create mosaics so this might be useful

Drive Presets From Custom

Get rid of the old logic for selecting the existing Lego Art sets and just make them presets that can be added in to the custom stud selection section

Edge removal during upscaling

In some cases edges between two colors can get mapped to pixels whose closest match doesn't match the hue of the two edge colors closely. This can probably be reduced with something like 're-aliasing' (i.e. a sort of anti-anti-aliasing; idk if there's a better name for it) during the downscaling process. This will likely need to a setting during downscaling (step 1) whose aggressiveness can be tweaked by the user. I wonder if a voting based system during downscaling will help rather than taking the average of the original pixel values.

HSV slider tweak to enable fine tuning

Untitled100

Great site and algorithm! Have made many images with the site but would like to be able to tweak the HSV values with more precision if possible.

Is it possible to add + & - buttons to the end of each slider to enable fine tuning of the image. Mobile version of the site being used so it's difficult to amend values with any precision. See attached image as example.

First time user to GitHub so apologies if I've posted this in the wrong place.

Many thanks

Custom Resolutions

Allow for custom resolutions, in increments of 16 for height and width. (add in a perf warning for high resolutions?)

Could get more specific in the future, but the instructions logic would have to be rewritten

TODO: Verify perf isn't highly affected when using highest possible resolution and master color palette

Color palette request

Hi, Deb! You've done a fantastic job with this!

I was wondering if you could add one more color to the palette: Very Light Gray, BrickLink ID 49. In 2003, Lego released 1x1 plates in that color for grayscale mosaics (i.e., "Mosaic Cat" https://www.bricklink.com/catalogItemInv.asp?S=k34431-1), and it'd be super helpful if that color could be added here.

Thanks so much!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.