Background estimation of image in matlab
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I want to estimate background of an image using iterative Savitzky-Golay smoothing. So can anyone help me in this by providing me the code of this. Or if someone has code for background estimation using some other technique, that is also acceptable. Regards
2 commentaires
Image Analyst
le 4 Oct 2011
What do you mean by iterative? Do you mean the x direction first followed by the y direction?
Pavl M.
le 14 Nov 2011
I work on background estimation using histogram processing. I've assumed that that the background can be easily estimated from histogram ( run several examples provided support ).I have one method implemented in C++ and second option is under dev. ( need to compute centroid of area under histo ) Have anybody made something similar?
Réponses (2)
Image Analyst
le 4 Oct 2011
See my demo:
% Filter using Savitzky-Golay filtering.
% By Image Analyst
% Change the current folder to the folder of this m-file.
if(~isdeployed)
cd(fileparts(which(mfilename)));
end
clc; % Clear command window.
clear; % Delete all variables.
close all; % Close all figure windows except those created by imtool.
imtool close all; % Close all figure windows created by imtool.
workspace; % Make sure the workspace panel is showing.
fontSize = 14;
% Read in standard MATLAB gray scale demo image.
% imageArray = imread('football.jpg');
imageArray = imread('cameraman.tif');
imageArray = double(imageArray);
[rows columns numberOfColorBands] = size(imageArray);
subplot(2, 2, 1);
imshow(imageArray, [0 255]);
title('Original Grayscale Image', 'FontSize', fontSize);
set(gcf, 'Position', get(0,'Screensize')); % Enlarge figure to full screen.
set(gcf,'name','Savitzky-Golay Filter Demo by ImageAnalyst','numbertitle','off')
% Apply the Savitzky-Golay filter.
% First apply it in the vertical (row) direction.
k = 1; % Order of the polynomial
windowSize = 25;
verticallySmoothedImage = sgolayfilt(imageArray, k, windowSize, [], 1);
subplot(2, 2, 2);
imshow(verticallySmoothedImage, [0 255]);
title('Savitzky-Golay filtered in the vertical direction only', 'FontSize', fontSize);
% Apply the Savitzky-Golay filter.
% First apply it in the vertical (row) direction.
k = 1; % Order of the polynomial
windowSize = 25;
horizontallySmoothedImage = sgolayfilt(imageArray, k, windowSize, [], 2);
subplot(2, 2, 3);
imshow(horizontallySmoothedImage, [0 255]);
title('Savitzky-Golay filtered in the horizontal direction only', 'FontSize', fontSize);
doublySmoothedImage = sgolayfilt(verticallySmoothedImage, k, windowSize, [], 2);
subplot(2, 2, 4);
imshow(doublySmoothedImage, [0 255]);
title('Savitzky-Golay filtered in both directions', 'FontSize', fontSize);
0 commentaires
Pavl M.
le 14 Nov 2011
Sorry there is no full answer at this my post but it can get closer the solution. I work on background estimation using histogram processing. I've assumed that a background can be easily estimated from histogram ( run several examples provided support ).I have one method implemented in C++ and second option is under dev. ( need to compute centroid of an area under histogram ) Have anybody made something similar? Thanks in advance.
0 commentaires
Voir également
Catégories
En savoir plus sur 3-D Volumetric Image Processing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!