Commit Graph

206 Commits

Author SHA1 Message Date
kris
a7d734f2b0 Fix broken paths 2021-01-25 22:47:41 +00:00
kris
6a3707e1fa Rename file to try and get github to render link 2021-01-25 22:46:37 +00:00
kris
cb938b2737 Add missing image 2021-01-25 22:45:08 +00:00
kris
6c095c494b Merge branch 'main' of https://github.com/KrisKennaway/ii-pix into main 2021-01-25 22:44:02 +00:00
kris
8577a00969 New default, modified Jarvis dither that propagates errors to 4 pixels
in the forward x-direction.
2021-01-25 22:43:03 +00:00
KrisKennaway
a6905a4868
Merge pull request #1 from KrisKennaway/add-license-1
Create LICENSE
2021-01-25 22:37:02 +00:00
KrisKennaway
7f9d48aeb2
Create LICENSE 2021-01-25 22:36:50 +00:00
kris
dd8cf07c49 Add support for multiple palettes 2021-01-25 22:28:00 +00:00
kris
923ec0cf6d Docs and examples 2021-01-25 22:27:24 +00:00
kris
d535d2430d Tidy a bit 2021-01-22 22:26:10 +00:00
kris
081c815643 Flatten image array, about 5% faster 2021-01-22 22:19:48 +00:00
kris
61e1448b87 Refactor to use a Dither cstruct 2021-01-22 22:06:25 +00:00
kris
84442f32a7 Clean up some more 2021-01-21 23:33:12 +00:00
kris
e046f5fccf Clean up a bit 2021-01-21 23:23:19 +00:00
kris
a4ecf69610 Checkpoint WIP 2021-01-21 23:17:55 +00:00
kris
9f0cd870e7 In 140px resolution show the output image with and without NTSC fringing 2021-01-16 18:11:21 +00:00
kris
f9f1398969 Show output as 560x384 regardless of input size 2021-01-16 17:57:21 +00:00
kris
18ce9d8f82 Expand help text 2021-01-15 23:03:31 +00:00
kris
a061795022 Re-enable 140px mode 2021-01-15 22:58:01 +00:00
kris
8d671f08ac Remove bitmap support 2021-01-15 22:34:22 +00:00
kris
d57d6f9038 Add flags to show input/output images 2021-01-15 22:34:03 +00:00
kris
ce99d62304 Tidy 2021-01-15 22:28:44 +00:00
kris
f132f0b84b Default to --lookahead=6 now that it's fast 2021-01-15 22:25:32 +00:00
kris
c5b8feb17e Parametrize dither patterns as command-line argument 2021-01-15 22:25:06 +00:00
kris
f5553e00b8 Rename 2021-01-15 22:20:28 +00:00
kris
31b565f22a Refactor a bit 2021-01-15 22:18:25 +00:00
kris
0109675bf2 Tidy a bit 2021-01-12 22:22:37 +00:00
kris
348752dc35 Small tweaks and cleanups 2021-01-12 22:01:49 +00:00
kris
02393381df Write out mmapp'ed numpy array instead of pickling 2021-01-12 22:01:29 +00:00
kris
ebd9f94d98 Mmap uncompressed distance array instead of bunzipping first. Since
we don't end up reading most of the elements again, this is faster.
2021-01-12 20:44:39 +00:00
kris
45ceb9987f Opt open_image a bit 2021-01-12 10:21:31 +00:00
kris
32d54d5b78 cythonize dither_image 2021-01-12 10:00:56 +00:00
kris
3e7cb37253 Oops, don't use python to cast to long 2021-01-12 00:27:03 +00:00
kris
31446cb457 Minor tweaks 2021-01-11 23:54:00 +00:00
kris
5ba25e7b9c Opt more! 2021-01-11 23:41:04 +00:00
kris
6a4e5995a2 Opt more! 2021-01-11 23:04:47 +00:00
kris
6b890a9b75 Optimize morer 2021-01-11 22:19:41 +00:00
kris
5c07469751 Optimize more! 2021-01-11 21:35:13 +00:00
kris
b601360669 Optimize more 2021-01-11 20:56:26 +00:00
kris
a40b496a38 Optimize more 2021-01-11 20:43:28 +00:00
kris
78660784ff cythonize dither_lookahead, still lots of low-hanging fruit 2021-01-11 20:21:00 +00:00
kris
bbc9eec29f malloc temporary array 2021-01-11 18:55:37 +00:00
kris
575fa168ed Cythonize dither.apply 2021-01-10 22:12:14 +00:00
kris
ec691f5d6d Clean up and optimize 2021-01-10 20:10:32 +00:00
kris
61b8171586 Working version with precomputation. 2021-01-10 16:06:14 +00:00
kris
9129e680f5 Add support for euclidean distance in LAB space (though it doesn't
give good results and doesn't seem to be much faster anyway)

Clip RGB values before converting to LAB, to allow more easily
experimenting with not clipping the result of dithering, i.e. allowing
quantization error to take RGB values out of the 0..255 range.  This
may not improve quality but need to do more experiments.
2021-01-09 23:25:46 +00:00
kris
db87ad2f9e Working version 2021-01-09 18:05:36 +00:00
kris
6bf7fd90ff WIP - optimizations but also some bugs 2021-01-08 22:44:28 +00:00
kris
8f2424127f Remove debug code 2021-01-04 21:11:18 +00:00
kris
7f47aa33e7 - work with image as numpy.ndarray instead of Image
- use float32 representation instead of uint8
- Vectorize applying dither
- Improve quality of 560px images by looking ahead N pixels,
  evaluating all 2^N colour choices and minimizing the total error.
2021-01-04 21:08:29 +00:00