noise removal from the part of the medical image where noise is actually present, not the whole image
32 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
syeda musfia
el 18 de Oct. de 2017
Comentada: Image Analyst
el 20 de Oct. de 2017
i am doing one algorithm where i need to remove noise from an image , but i cant apply any kind of filter or any noise removal algorithm directly to the whole image since i am working in medical image and it might blur or might take any tissue or connected organ as a noise and remove it and will change my output. i would like to know the best possible way to remove noise from only those parts of the image where noise actually exists. thank you..
2 comentarios
Respuesta aceptada
Bjorn Gustavsson
el 18 de Oct. de 2017
If you know what regions of the images you have noise that needs filtering why not just filter those regions? Something like this (one-region example):
regN = [i11,i12,i21,i22]; % corners of noisy region
ImgN = Im_full((regN(1)-1):(regN(2)+1),(regN(3)-1):(regN(4)+1)); Will break down for regions that extends to image edges, fix to suit needs
ImgN = wiener2(ImgN,[3,3]); % Or whatever filtering suits your images
Im_full(regN(1):regN(2),regN(3):regN(4)) = ImgN(2:end-1,2:end-1);
To me it sounds strange that you need to reduce noise in what seems to be "medically uninteresting" parts of images, while the parts of the images with organs and tissue should be left unfiltered with noise intact. Why not simply tell the doctors that the noisy parts of the images are left noisy to make them aware of the general noise characteristics of the images, that should be information that should help image interpretation.
HTH
7 comentarios
learningmat
el 20 de Oct. de 2017
thank you for the reply sir..but i want to reduce the complexity so i dont want to apply the filtering to whole image, i want to apply to only the noisy part. Actually i can apply it for noisy part alone but how to indexing it in an array and replacing it with noisy part
Image Analyst
el 20 de Oct. de 2017
Again, SEE MY ANSWER where I already told you how.
Más respuestas (2)
Kian Azami
el 18 de Oct. de 2017
Editada: Kian Azami
el 18 de Oct. de 2017
close all
% Read the
I = imread('input.jpg');
% Remove noise
se1 = strel('disk',1);
I1 = imclose(I, se1);
se2 = strel('disk',2)
I2 = imopen(I1, se2);
% Original Image
figure
imshow(I)
% Image after noise
figure
imshow(I2)
Basically, imopen(I,se1) will remove the pixels that are left alone.
Then, imclose(I1,se2) will do the opposite. It will unite the pixels with the same color.
se1 and se2 are the structures that tell imopen and imclose how to remove or unite the pixels.
By the command 'strel' you define the zone by which you can remove or unite the pixels. For example, strel('disk',2) is a disk like zone with a dimension of 2. So, when you apply this structure in your image by 'imopen' it will divide the image into disk like shapes with the dimension of 2 and if it see discontinuity with the picture colors it will remove the pixels in that zone which is possibly a noise. You can play with the dimensions and see the change in your image.
You can define many different kinds of strel and if you go to help you can see them: strel Documentation
0 comentarios
Image Analyst
el 18 de Oct. de 2017
I agree with Bjorn - the radiologist will be able to mentally filter out the noisy areas.
If you still want to do it for some reason, then you'll have to find a mask for identifying the noisy areas (for example use stdfilt() but exclude edge regions), then remove noise for the entire image, and replace the noise pixels with noise free pixels.
mask = some algorithm to identify noisy regions.
noiseFreeImage = ReduceNoise(grayImage); % Remove noise over the entire image.
noiseReducedImage = grayImage; % Initialize.
% Replace pixels in noise region with noise-free pixels.
noiseReducedImage (mask) = noiseFreeImage(mask);
0 comentarios
Ver también
Categorías
Más información sobre Computer Vision with Simulink en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!