Remove Moiré Patterns from Scans in GIMP
This guide outlines an efficient, step-by-step workflow for eliminating half-tone moiré patterns from high-resolution scans of vintage magazines using GIMP. By leveraging oversampled scan data, frequency separation via wavelet decomposition, selective blurring, and controlled downsampling, you can strip away mechanical print rosette patterns while retaining line art, typography, and core image detail.
Phase 1: High-Resolution Acquisition
Moiré occurs when the pixel grid of your scanner interferes with the half-tone screen of the printed page. To fix this digitally, you must capture the print pattern distinctly rather than letting the scanner alias it.
- Scan at High Resolution: Scan the page at a minimum of 600 DPI to 1200 DPI in 24-bit RGB or 16-bit color. Capturing the individual ink dots cleanly allows mathematical filters to target them precisely.
- Import into GIMP: Open GIMP and load your scan via File > Open.
- Straighten the Document: If the scan is tilted, use
the Measure Tool (
Shift + M) along a baseline or margin and click Straighten. Rotating later can reintroduce uneven interference patterns.
Phase 2: Method A – Wavelet Decomposition (Native GIMP Workflow)
Wavelet decomposition breaks your image into multiple layers based on frequency (detail scale), allowing you to blur the half-tone pattern without destroying the overall contrast or large-scale details.
- Duplicate the Layer: Right-click the scan layer in the Layers panel and select Duplicate Layer to preserve your original.
- Run Wavelet Decompose:
- Navigate to Filters > Enhance > Wavelet Decompose.
- Set the Scales slider to
5or6. - Check Create a layer group and click OK.
- Identify the Pattern Layer:
- Open the newly created layer group.
- Toggle visibility (the eye icon) on the individual
Scalelayers (typicallyScale 1,Scale 2, andScale 3). - Locate the specific layer(s) where the half-tone dot or rosette grid
is most prominent. Usually, the dot screen resides entirely in
Scale 1andScale 2.
- Blur the Screen Pattern:
- Select the offending scale layer.
- Go to Filters > Blur > Gaussian Blur.
- Apply a very small blur radius (e.g.,
1.0to2.5pixels) just until the dot texture smooths out. - Repeat on adjacent scale layers only if the half-tone grid is visible there.
- Flatten the Group:
- Right-click the wavelet layer group and select Merge Layer Group.
Phase 3: Method B – FFT Filtering via G'MIC (Plugin Workflow)
If you have the free G'MIC-Qt plugin installed, Fast Fourier Transform (FFT) is the most precise way to eliminate moiré without blurring edge detail.
- Go to Filters > G'MIC.
- Search for
Fourier Transformor navigate to Repair > Fourier Transform. - Locate the periodic spikes (bright symmetrical star-like dots) representing the repeating half-tone grid on the frequency spectrum canvas.
- Paint black over those frequency spikes using the filter's brush tool to eliminate the recurring frequency.
- Click Apply to invert the transform back to the image domain, leaving clean tones and intact edges.
Phase 4: Downsampling to Target Resolution
Because vintage magazines were printed at low screen frequencies (often 85 to 133 LPI), downsampling an oversampled scan averages out residual dot artifacts naturally.
- Navigate to Image > Scale Image.
- Change the resolution units to percent or your target pixel dimensions (e.g., 300 DPI equivalent).
- Set the Interpolation method to Cubic or NoHalo.
- Click Scale. This step blends remaining micro-artifacts into smooth, continuous tones.
Phase 5: Detail Recovery and Sharpening
After descreening and scaling down, the image may appear slightly soft. Restore edge crispness with a targeted high-pass sharpen.
- Duplicate the Descreened Layer: Press
Ctrl + Shift + D(orCmd + Shift + Don macOS). - Apply High Pass:
- Go to Filters > Enhance > High Pass.
- Set the Std. Dev. between
1.0and3.0so only high-contrast edges (like typography and outlines) are visible against gray. - Click OK.
- Change Blend Mode: Set this layer's blend mode to Soft Light or Overlay.
- Adjust Opacity: Lower the layer opacity to between
30%and60%to restore sharpness without re-emphasizing background grain or remaining dot artifacts. - Export: Go to File > Export As to save your final, descreened image.