- 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?
Info
La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.
Remove noise lines from image
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuestas (0)
La pregunta está cerrada.
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!