Halftoned images, esp old images, can be "descreened" to produce clearer versions than just blurring the halftone.
Some use neural networks and some use FFT math. Here's a nice image of descreening from this excellent page and paper (click for higher res comparison):

Closeup:

Research:
Maybe the FFT-descreen OpenCV library looks simplest and most promising?
https://github.com/6o6o/fft-descreen/blob/38777f8bef9ab4ff695cc6c2fa957d34ab70ee44/descreen.py#L1-L54
Could we refactor that and model on our other OpenCV modules, like our Blob Analysis module?
https://github.com/publiclab/image-sequencer/blob/main/src/modules/BlobAnalysis/BlobAnalysis.js
Halftoned images, esp old images, can be "descreened" to produce clearer versions than just blurring the halftone.
Some use neural networks and some use FFT math. Here's a nice image of descreening from this excellent page and paper (click for higher res comparison):
Closeup:
Research:
Maybe the FFT-descreen OpenCV library looks simplest and most promising?
https://github.com/6o6o/fft-descreen/blob/38777f8bef9ab4ff695cc6c2fa957d34ab70ee44/descreen.py#L1-L54
Could we refactor that and model on our other OpenCV modules, like our Blob Analysis module?
https://github.com/publiclab/image-sequencer/blob/main/src/modules/BlobAnalysis/BlobAnalysis.js