Nico Weber
259eb98383
LibGfx/JBIG2+jbig2-from-json: Implement halftone "match_image" feature
...
This makes it possible to give a halftone region a reference image
instead of a grid of indices. If that's done, the grid of indices is
computed by finding the best-matching pattern for each covered region
in the reference image.
This can be used with a pattern dictionary that uses unique_image_tiles
from #26299 to make exact test images that have fewer tiles than
distinct_image_tiles and identity_tile_indices.
It should also be possible to use this with a regular halftone dot
pattern dictionary to get actual halftone images, but I haven't tried
that yet.
The matching is done in the writer instead of jbig2-from-image because
jbig2-from-image does not have access to referred-to segments, and
because this will eventually have to learn to deal with interesting
grid vectors, and that logic is also all in the writer. (For now,
interesting grid vectors are not supported, though.)
2025-11-15 08:09:21 -05:00
..
2024-11-02 09:54:38 -04:00
2024-10-03 12:39:45 +02:00
2024-02-26 16:12:20 -07:00
2025-03-18 07:51:04 -04:00
2023-04-22 07:17:08 +02:00
2023-07-05 08:34:51 +02:00
2024-11-15 08:56:39 -05:00
2023-07-01 23:27:24 +01:00
2024-04-30 01:30:38 +02:00
2023-12-23 20:41:07 +01:00
2025-04-06 19:21:49 -04:00
2024-11-05 09:06:42 -05:00
2023-11-03 15:19:33 +01:00
2023-01-08 15:19:59 +00:00
2024-03-18 14:06:28 -04:00
2023-12-17 18:25:10 +03:30
2024-10-23 07:24:18 -04:00
2023-12-17 18:25:10 +03:30
2023-12-23 20:41:07 +01:00
2023-06-18 20:34:04 +02:00
2023-12-23 20:41:07 +01:00
2023-05-05 16:41:21 +01:00
2024-01-18 18:01:26 +03:30
2022-04-03 17:13:51 -07:00
2025-09-24 18:33:26 -04:00
2023-05-09 11:18:46 +02:00
2024-07-01 13:46:00 +02:00
2023-04-22 07:17:08 +02:00
2024-07-21 11:44:23 +02:00
2023-05-05 16:41:21 +01:00
2024-02-08 07:11:44 -07:00
2023-12-17 18:25:10 +03:30
2023-02-13 00:50:07 +00:00
2023-12-17 18:25:10 +03:30
2024-06-10 11:59:14 +02:00
2024-11-29 16:35:10 -05:00
2023-12-23 20:41:07 +01:00
2024-02-26 16:12:20 -07:00
2023-12-17 18:25:10 +03:30
2023-07-15 16:21:29 +02:00
2024-11-05 09:06:42 -05:00
2025-03-15 23:34:54 +01:00
2023-12-17 18:25:10 +03:30
2023-02-13 00:50:07 +00:00
2023-12-12 06:44:10 -05:00
2024-10-04 15:02:12 +02:00
2023-12-17 18:25:10 +03:30
2024-09-05 16:36:12 +02:00
2023-12-17 18:25:10 +03:30
2023-12-23 20:41:07 +01:00
2025-10-10 00:02:50 +02:00
2022-01-14 19:42:19 +02:00
2024-02-24 16:43:44 -07:00
2025-08-08 19:09:22 -04:00
2025-10-10 00:02:50 +02:00
2023-01-02 20:27:20 -05:00
2025-09-25 13:03:52 +02:00
2025-03-15 23:34:54 +01:00
2025-04-27 11:01:18 +02:00
2023-08-18 15:29:48 +02:00
2023-12-17 18:25:10 +03:30
2024-07-01 13:46:00 +02:00
2023-12-17 18:25:10 +03:30
2023-12-17 18:25:10 +03:30
2023-12-17 18:25:10 +03:30
2023-12-17 18:25:10 +03:30
2024-05-14 12:35:25 -06:00
2024-11-04 08:56:18 -05:00
2025-04-06 19:21:49 -04:00
2024-10-02 08:10:54 +02:00
2023-04-22 07:17:08 +02:00
2025-10-09 20:48:14 +02:00
2023-12-17 18:25:10 +03:30
2022-07-12 23:11:35 +02:00
2025-10-27 07:26:15 -04:00
2024-11-04 08:55:21 -05:00
2023-12-23 20:41:07 +01:00
2024-09-08 18:27:55 -04:00
2023-12-17 18:25:10 +03:30
2025-10-26 18:20:25 -04:00
2025-10-15 11:29:00 -04:00
2023-12-17 18:25:10 +03:30
2025-04-27 11:01:18 +02:00
2024-01-16 08:42:34 +00:00
2023-07-27 12:02:37 +01:00
2025-11-15 08:09:21 -05:00
2024-11-18 13:21:10 -05:00
2024-11-09 12:30:12 -05:00
2024-04-15 21:16:22 -06:00
2025-05-25 11:30:16 +02:00
2025-08-07 21:34:32 -04:00
2025-08-07 21:34:32 -04:00
2025-03-06 18:40:24 -05:00
2024-01-13 19:01:07 -07:00
2025-03-07 20:22:16 -05:00
2023-01-13 13:41:30 +01:00
2025-10-10 00:02:50 +02:00
2023-12-17 18:25:10 +03:30
2023-12-17 18:25:10 +03:30
2024-07-06 21:42:32 +02:00
2024-01-12 17:41:34 -07:00
2023-12-23 20:41:07 +01:00
2025-05-20 11:30:08 -04:00
2024-02-21 17:54:38 +01:00
2023-05-09 11:18:46 +02:00
2024-11-29 16:03:30 -05:00
2025-04-04 09:54:07 -04:00
2024-07-04 22:09:32 +02:00
2023-12-17 18:25:10 +03:30
2023-07-05 08:34:51 +02:00
2023-06-22 22:35:30 +02:00
2023-12-17 18:25:10 +03:30
2025-03-13 21:59:43 +01:00
2023-12-23 20:41:07 +01:00
2024-02-24 15:57:14 -07:00
2024-12-23 20:38:38 +01:00
2024-12-17 19:02:15 -05:00
2024-06-28 10:31:23 +02:00
2024-11-29 16:03:30 -05:00
2024-04-19 06:31:19 -04:00
2023-12-17 18:25:10 +03:30
2024-01-19 12:16:56 -07:00
2023-02-13 00:50:07 +00:00
2024-11-17 10:18:36 -05:00
2023-02-13 00:50:07 +00:00
2025-08-07 21:34:32 -04:00
2024-03-18 14:06:28 -04:00
2024-11-28 20:08:33 -05:00
2024-04-22 08:10:08 +02:00
2024-03-03 08:56:00 +01:00
2023-12-17 18:25:10 +03:30
2025-07-14 20:41:03 -04:00
2023-12-23 20:41:07 +01:00
2023-12-23 20:41:07 +01:00
2025-08-07 21:34:32 -04:00
2024-04-23 12:32:04 -06:00
2025-08-07 21:34:32 -04:00
2024-02-27 08:33:48 +00:00
2022-11-05 18:00:58 -06:00
2024-01-12 17:41:34 -07:00
2023-12-23 20:41:07 +01:00
2023-12-17 18:25:10 +03:30
2024-11-21 17:47:14 -05:00
2023-12-23 20:41:07 +01:00
2023-12-23 20:41:07 +01:00
2022-03-22 11:39:20 +01:00
2023-12-17 18:25:10 +03:30
2024-07-21 15:38:52 +02:00
2023-05-15 06:50:43 +02:00
2023-10-02 20:56:38 +02:00
2024-04-19 06:31:19 -04:00
2023-12-17 18:25:10 +03:30
2024-04-22 08:10:08 +02:00
2023-12-17 18:25:10 +03:30
2023-12-23 20:41:07 +01:00
2024-04-22 08:10:08 +02:00
2024-12-05 10:08:43 -05:00
2023-12-23 20:41:07 +01:00
2025-10-10 00:02:50 +02:00
2024-05-31 13:49:34 +01:00
2023-05-18 21:06:37 -06:00
2024-04-19 06:31:19 -04:00
2024-06-25 09:24:55 +02:00
2024-04-30 01:30:38 +02:00
2024-04-30 01:30:38 +02:00
2024-04-30 13:22:56 +02:00
2024-05-29 13:34:15 -06:00
2023-12-17 18:25:10 +03:30
2025-08-07 21:34:32 -04:00
2023-09-24 23:41:22 +02:00
2024-04-19 06:31:19 -04:00
2024-02-27 08:33:48 +00:00
2022-02-01 04:58:24 +00:00
2023-12-23 20:41:07 +01:00
2023-12-17 18:25:10 +03:30
2023-12-17 18:25:10 +03:30
2024-04-05 15:30:41 -06:00
2024-09-14 13:30:27 +02:00
2022-06-30 15:59:42 +01:00
2024-03-18 14:06:28 -04:00
2022-04-01 21:24:45 +01:00
2022-03-29 21:28:29 -07:00
2025-02-14 21:58:17 +01:00
2024-08-24 21:52:44 -04:00
2025-10-24 06:51:38 -04:00
2024-05-22 21:55:34 -06:00
2023-02-28 15:52:24 +03:30
2023-12-23 20:41:07 +01:00
2023-10-05 17:01:02 +02:00
2023-12-23 20:41:07 +01:00
2023-12-23 20:41:07 +01:00
2023-12-17 18:25:10 +03:30
2025-08-07 21:34:32 -04:00
2023-12-17 18:25:10 +03:30
2022-03-22 11:39:20 +01:00
2023-12-23 20:41:07 +01:00
2024-04-30 01:30:38 +02:00
2023-03-01 10:47:19 +01:00
2023-10-29 13:12:28 -06:00
2022-03-29 21:28:29 -07:00
2024-07-21 11:44:23 +02:00
2023-12-17 18:25:10 +03:30
2024-04-27 16:33:27 -06:00
2023-12-17 18:25:10 +03:30
2025-10-24 10:57:53 +02:00
2023-12-17 18:25:10 +03:30
2025-05-21 15:29:15 +01:00
2024-02-23 09:52:08 +01:00
2023-06-02 17:53:55 +02:00
2023-12-23 20:41:07 +01:00
2024-04-04 11:23:21 +02:00
2024-04-19 06:31:19 -04:00
2025-07-06 08:27:03 +02:00
2024-11-13 10:17:34 -05:00
2024-04-19 06:31:19 -04:00
2024-07-21 12:15:44 +02:00
2024-06-30 00:17:46 +02:00
2023-06-06 23:46:36 +02:00
2021-11-30 23:34:40 +01:00
2023-05-05 16:41:21 +01:00
2024-04-19 06:31:19 -04:00
2024-11-21 17:47:14 -05:00
2024-11-02 12:48:18 -04:00
2023-05-09 11:18:46 +02:00
2024-11-05 09:31:54 -05:00
2025-10-24 10:57:53 +02:00