Denoising and contranst enhancement

2 visualizzazioni (ultimi 30 giorni)
Szymon Fiderkiewicz
Szymon Fiderkiewicz il 21 Nov 2019
Risposto: Subhadeep Koley il 14 Gen 2020
Hi, I'm tryin to write matlab code which would make a differential images and then denoise them and enhence their contrast.
So I have set of multiple differential images which are noisy and in low contrast. Everything would be fine but i cannot get rid of noise.
I've tried use function such as adapthisteq() and filtering by average or median filters but the noise is still reaally high...
Do you have some clues which would work best for this type of images and also quite fast since I've got few data sets in which aprox. 150images which I nedd to proceess and later extract some data from them.
I atttached 'raw' differencial image and after my procession...

Risposte (1)

Subhadeep Koley
Subhadeep Koley il 14 Gen 2020
Hi, you can use Neighborhood size input argument of the function medfilt2 to specify the strength of the filtering. Also, you can use the function stretchlim to find limits to contrast stretch the image using imadjust. Refer the code below.
clear all; clc; close all;
diffImg = imread('raw_diff.bmp');
% Contrast Enhancement
enhDiffImg = imadjust(diffImg,stretchlim(diffImg),[]);
% Median Filtering
filtEnhDiffImg = medfilt2(enhDiffImg, [7 7], 'symmetric'); % 7 is the filter window size
imshowpair(diffImg,filtEnhDiffImg,'montage');
enhDiff.png
Hope this helps!

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by