Remove noise lines from image
정보
이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.
이전 댓글 표시
I have 360x360 image I want to remove lines in it
half portion on it has noisy lines I am working on MATLAB
I tried median filter, bilateral filter but not working how to denoise this image and remove lines?

This has periodic lines
I used this :
CODE CREDITS : IMAGE ANALYST
figure(2);
%-----------------------------------------------------------------------------------------------------------------------------------
rgbImage = maxarray;
[rows, columns, numberOfColorChannels] = size(rgbImage);
% Display the test image full size.
subplot(2, 2, 1);
imshow(rgbImage,[]);
axis('on', 'image');
drawnow;
%hp = impixelinfo(); % Set up status line to see values when you mouse over the image.
b=max(rgbImage,[],3);
% How about you sum the image vertically to get a horizontal profile?
horizontalProfile = mean(b(:, :));
subplot(2, 2, [2, 4]);
figure(2);plot(horizontalProfile, 'b-');
grid on;
bottomEnvelope = movmin(horizontalProfile, 20);
upperEnvelope = movmax(horizontalProfile, 20);
deltaGL = mean(upperEnvelope(150:250) - bottomEnvelope(150:250))
hold on;
plot(bottomEnvelope, 'r-', 'LineWidth', 2);
plot(upperEnvelope, 'r-', 'LineWidth', 2);
midline = (bottomEnvelope + upperEnvelope) / 2;
plot(midline, 'm-', 'LineWidth', 2);
% Determine what rows are above the midline.
% Those are the columns that are 50 gray levels brighter.
columnsToDim = horizontalProfile > midline;
% Darken those columns in each color channel.
rgbImage(:, columnsToDim) = rgbImage(:, columnsToDim) - double(deltaGL);
% Reconstruct output image.
subplot(2, 2, 3);
imshow(rgbImage, []);
caption = sprintf('Corrected Image where %d was subtracted from the stripes.', deltaGL);
title(caption, 'FontSize', fontSize, 'Interpreter', 'None');
drawnow;

댓글 수: 4
Image Analyst
2021년 6월 22일
- WHY do you need to remove the lines? What is the use case and what are you going to do with or to the image after you get the lines removed?
- Which lines do you want to remove (there are lots of them)?
- Can you improve your image capture situation, like better optics, lighting, or geometry?
Image Analyst
2021년 6월 22일
There is no way to remove the dark clutter in the left third of that image unless you can also use the reference image to help, and to take values from. The lines are not periodic like a sine wave so there is no way Fourier filtering can remove the black clutter. You'll have to do it in the spatial domain. Perhaps you can threshold and do some filtering based on location (distance from edge), shape, or orientation but it will be far from perfect. Any filtering will likely also remove shapes that should stay.
shubham kumar gupta
2021년 6월 23일
shubham kumar gupta
2021년 7월 2일
답변 (0개)
이 질문은 마감되었습니다.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!