kris
80885aabf9
Working SHR version. Still just uses a single palette
2021-11-09 22:26:34 +00:00
kris
21058084e2
Tidy
2021-11-09 16:14:37 +00:00
kris
01b19a4a06
Use 4-bit RGB values instead of 8-bit
2021-11-09 15:35:44 +00:00
kris
a92c9cd7b5
Work in CAM16-UCS colour space and cythonize
2021-11-09 15:13:07 +00:00
kris
173c283369
First implementation of using k-means clustering in RGB space to dither a 320x200 SHR image.
2021-11-09 11:23:25 +00:00
kris
0630db2bf1
More relnotes
2021-11-04 14:55:23 +00:00
kris
f097945b2e
Add version history
2021-11-04 14:46:53 +00:00
kris
aebb21263e
Update docs
2021-11-04 14:35:14 +00:00
kris
387500a9b4
Remove stray file
2021-11-04 14:34:44 +00:00
kris
bd19d27bd3
Add a script to regenerate image conversions for example images, and add a .po disk image
2021-11-04 14:32:58 +00:00
kris
7e68847bfe
nit
2021-11-04 14:31:33 +00:00
kris
1010b64272
Fix shift_pixel_window when shift_right_by > window_width
2021-11-03 15:19:29 +00:00
kris
34ae40ac2d
Fix a bug with output for non-ntsc palette
2021-11-03 15:17:57 +00:00
kris
b7174778e6
Oops, no that was wrong. I forgot to cross-check against OpenEmulator <o>
2021-11-03 12:40:22 +00:00
kris
bf76271d75
NTSC conversion should be using YIQ space instead of YUV, which seems
...
to explain several fudge factors I needed to include to match colours.
2021-11-02 23:28:58 +00:00
kris
df0adec8aa
Fix typo
2021-11-02 22:24:47 +00:00
kris
d35cdbc877
Switch remaining palettes to be indexed by (n-bit pixel value, NTSC
...
phase) and update the comments to explain the encoding scheme.
2021-11-02 22:15:13 +00:00
kris
52bd35e875
Update comment
2021-11-02 22:15:09 +00:00
kris
3544bd74c8
Update comment
2021-11-02 22:14:59 +00:00
kris
1ed565ff8d
Fix a bug with palette depths < 8
2021-11-02 22:14:42 +00:00
kris
0f1ec6f6f2
Optimize memory a bit
2021-11-02 21:25:00 +00:00
kris
4fbb0faf84
Fixes
2021-11-02 15:47:37 +00:00
kris
9dbf413733
Tidy
2021-11-02 15:45:20 +00:00
kris
e84dfb59f9
Tidy a bit
2021-11-02 15:26:43 +00:00
kris
b63fd81c07
Unify DHGRScreen implementations
2021-11-02 15:23:23 +00:00
kris
75a3c6bc48
Simplify image_to_rgb and remove the need for DOTS and DOTS_TO_INDEX
2021-11-02 15:14:22 +00:00
kris
809b975e6e
Return a bitmap directly from dither_image. This removes the need to
...
deal with n-bit encodings at all in DHGRScreen
2021-11-02 14:42:00 +00:00
kris
b7e8c69f64
More descriptive variables
2021-11-02 13:48:53 +00:00
kris
cf69dc9cf2
Bounds check lookahead
2021-11-02 13:42:23 +00:00
kris
8cfee55b1d
Get rid of support for 140px mode, it was only useful as a demo of why
...
other converters have the wrong basic approach.
2021-11-02 13:40:32 +00:00
kris
d442baf1f1
Tidy a bit
2021-11-02 12:30:43 +00:00
kris
5675fac40d
Clean up a bit and accommodate palette depth in sliding pixel window
2021-11-02 12:29:30 +00:00
kris
24644658cb
Tidy a bit
2021-11-01 12:10:02 +00:00
kris
0c588f7489
Tidy
2021-07-19 18:40:16 +01:00
kris
e5c49b3518
Floyd-Steinberg is working well now, and gives better detail
2021-07-19 18:39:38 +01:00
kris
feefdb5dc6
Use .npy format for RGB to CAM16UCS conversion matrix, and get rid of precomputed CIE2000 distances
2021-07-19 18:35:44 +01:00
kris
e979df03bc
Nope, don't need XYZ
2021-07-19 18:13:43 +01:00
kris
8b500b16cb
Dither in XYZ representation but use CAM16UCS for colour differences.
...
This gives the best of both worlds: dithering in a linear space, with
good (and fast) perceptual error differences
TBD: would linear RGB work as well as XYZ?
2021-07-19 17:54:46 +01:00
kris
4984df7f7a
Tidy up and optimize a bit
2021-07-19 13:21:32 +01:00
kris
e08f25e4cc
Simplify
2021-07-19 12:55:50 +01:00
kris
20a73ffb8a
Checkpoint - working again, and simpler
2021-07-19 12:33:49 +01:00
kris
508ce134aa
Try to fix how we compute the next pixel palette for 8-bit mode.
...
Still not sure this is correct.
2021-07-19 09:58:22 +01:00
kris
70074a2942
Support arbitrary gamma correction of input image
2021-07-19 09:57:26 +01:00
kris
7a3adea025
Try cam16UCS instead
2021-07-15 14:25:32 +01:00
kris
4fcda908bd
WIP - use colourspacious to perform image dithering in CAM02_UCS
...
colour space, which is supposed to be perceptually uniform. i.e. we
can use Euclidean distance instead of CIEDE2000
2021-07-15 13:58:22 +01:00
kris
9bbb9fda7c
Fix typos in x transition labels
2021-07-15 09:41:57 +01:00
kris
a593639606
Allow parametrizing gamma
2021-05-28 11:24:05 +01:00
kris
07a358d49b
Fix --all to be an optional boolean argument, and fix a deprecation warning (h/t: 4am)
2021-03-15 21:42:21 +00:00
kris
fb6a0f90ab
whitespace
2021-03-15 21:42:01 +00:00
kris
99242d455f
Fix warning
2021-03-15 21:41:39 +00:00