Add internal halftone filters (Error Diffusion, Nonlinear Laplacian) #40
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Per the discussion in #39 - this adds an actual half-tone filter to the driver.
It may also add some value to #37 to improve the output.
The source for these filters was sourced from the driver for a Dymo LabelWriterPnP linux package and is GPL-v2.
Generally, my experience has been that Error Diffusion provides better results for greyscale text, and NLL will work better for images and non hard-edged graphics
It is currently in draft stage for the following reasons:
My compile command line looks like this:
and the following parameters must be passed to
rastertoptch
depending on the selected value:There may also be value in allowing the user to select the threshold value for the Laplacian filter, but that would require detailed analysis with a lot of images - not really what tape label printers are meant for but it may have value for e.g. the QL series?
Some examples for a simple black-to-white gradient:
Input:
Default:
Error Diffusion:
NLL: 