New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Convimg 9.2 crashes when provided too large image. #96
Comments
Can you please test this: https://github.com/mateoconlechuga/convimg/actions/runs/7521533740/artifacts/1168480983 If you could provide feedback that would be nice. Looks like there are 36786 unique colors in that image, so downsampling to 256 is a little wild. Why are you using palettes for such large images? |
Thank you, that version is working for me! I'm still using palettes since the program was originally designed to use palettes. For this update of my picture viewing program, I decided to focus on improving the resolution of images rather than color accuracy. I felt this trade off was worth it since I've been satisfied with 256 colors for images (unless the image contains a gradient or noise). Color accuracy can be the focus of the next update! |
Thanks! Do the colors look right for other images too? Curious how the noisy image ends up looking |
I published a new version available here: https://github.com/mateoconlechuga/convimg/releases/tag/v9.3 |
Problem
If convimg 9.2 is provided an image in the
palettes
section that is too large, it will stop converting images early and will not produce any error. The definition of what is "too large" is unclear.Files
Full YAML and test images: convimgIssue.zip
Yaml Purpose:
It is suppose to generate a palette from the original picture (i.e. palette-large.png).
The original picture has been split up into multiple smaller images by a separate program.
These smaller images are each turned into appvars using the palette generated from the original picture.
Finally, the palette itself is turned into an appvar.
Yaml Preview:
My Attempts
Note: Later I tried using the option --log-level 4 to get debug messages however, no messages other than the ones shown in the screenshots below were displayed.
1. Large image 2800x1831 (11mb)
Line 7 of the yaml file:
When I run convimg.exe, it stops without producing an error when attempting to read the palette.
It does not even start reading any converts . I would expect it to read all converts and generate all 13 appvars.
2. Medium image 840x550 (1.3mb)
I replace line 7 with
Convimg now successfully reads the palette.
However, it only reads 5/12 converts before stopping without error.
3. Small image 320x209 (212kb)
I replace line 7 with
Note: This is within the calculator's screen resolution.
Convimg again successfully reads the palette.
However, it only reads 6/12 converts before stopping without error.
4. Tiny image 70x45 (9.2kb)
I replace line 7 with
Note: This is extremely small and does not well represent the colors of the original image.
Convimg again successfully reads the palette.
Convimg now successfully generates all 13/13 appvars.
Questions
My thoughts
Convimg doesn't necessarily need to support massive 2800x1831 pictures. However, I believe it should support pictures within the calculator's screen resolution of 320x240. Reducing the picture's size to less than 0.1% of its original size is not the best solution since the smaller image colors no longer represent the original image colors very well.
The text was updated successfully, but these errors were encountered: