Search code examples
opencvimage-processingnoise-reduction

remove stripe pattern in image taken by microscope


This picture is taken by a microscope.

original image

I want to remove the stripes on it. I have tried DFT but it seems these stripes isn't sharp on spectrum domain.

spectrum domain

Any advice?


Solution

  • Answer 1: Remove stripe directly from FFT

    When I compute the FFT and we got the following image where we can see the stripe signature (I surrounded it in black).

    FFT

    If I remove it by hand I got that:

    without strip

    We can do better be removing only frequency arroud each maximum in cardinal sine.

    Answer 2: Segment stripe

    process : FFT -> select stripe frequency -> iFFT -> Threshold The resulting mask contain your stripe. You can substract them from origin image, fill them etc ... FFT with only stripe :

    FFT with only stripe

    The resulting mask :

    The mask

    Answer 3: Change Capture process

    It seem this stripe come from interference between your microscope slide and your cover slip. You can probably remove it by changing you process.