I want to perform blob detection for a satellite imagery

please help me with the code.im using Matlab 7.10.0 (R2010a)

8 Comments

i used the same code..i even altered the code accordingly..but im not getting the required output...the output is simply a black binary image and the same input i give.. :-(
You say you "even altered the code accordingly" but we don't know that since we can't see your code. I'd say that you didn't alter it correctly if it's not working for you. But unless you show us your code, we can't advise you on it. Attach your image and m-file with the paper clip icon.
Looking at your image, you definitely need to go for enhancement first. May be use imadjust or histeq.
Use " Laplacian of Gaussian " filter for your satellite image. I guess you are using LANDSAT or LISS4 image. Cartosat images is also better for blob detection. Before filtering, spatially enhance your image.
can u pls help me with the code vignesh???
Hope this could be useful for your blob detection sandhya chezhian

Sign in to comment.

Answers (2)

  • Detects blobs in an image. * ------>
inputs:
------->
im_in - the input image
threshold - only accept maxima above a threshold (0-1.0)
t - the linear range for sampling exp(t), eg. t=1.0:.1:3
padding - an array for padding the image, eg. [pad_x pad_y]
outputs:
-------->
blobs - an array of blobs (x, r, radius)
function blobs = detect_blobs(im_in, threshold, t, padding)
Set default values
if (nargin() < 4)
padding = [10 10];
end
if (nargin() < 3)
t = 1.0:0.1:3.0;
end
if (nargin() < 2)
threshold = 0.35;
end
% Convert input to double
im_in = double(im_in)./255.0;
% Padd the image with whitespace
pad_x = 10;
pad_y = 10;
im_in = pad_image(im_in, padding(1), padding(2), 1.0);
[rows cols] = size(im_in);
% Create a log sampling scale space
et = exp(t);
% Create our scale space
all_ims = create_scale_space(im_in, et);
blobs = {};
% Now find centers of blobs
for i=1:length(et)
for j=1:rows
for k=1:cols
if ((is_maximum(all_ims, i, j, k)) && (all_ims(i,j,k) >= threshold))
blobs{end+1} = [j-padding(1) k-padding(2) et(i) all_ims(i,j,k)];
end
end
end
end
end
Hope u got ur req output... to improve ur accuracy use image segmentation by mathematical morphology procedure too..wat is ur purpose of blob detection in satellite image..??

Asked:

on 27 Feb 2014

Answered:

on 14 Apr 2014

Community Treasure Hunt

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

Start Hunting!