Recognition of a comet

2 次查看(过去 30 天)
sir, My project is "Comets recognition from satellite images".I have tried this code { for i = 1:3 im{i}= imread([int2str(i),'.jpg'],'jpg'); p{i} = rgb2gray(im{i}); q{i} = p{i}>180; bx{i} = bwareaopen(q{i},5); bw{i} = bwareaopen(q{i},8); k{i} = imsubtract(bx{i},bw{i}); s{i} = regionprops(k{i}, 'centroid'); centroids = cat(1, s{i}.Centroid); hold(imgca,'on') imshow(im{i}); plot(imgca,centroids(:,1), centroids(:,2),'G*') hold(imgca,'off') pause(0.4) end } But failed because it is representing some other object rather than the comets position that is indicated by kreutz comet.Please kindly reply me soon.

采纳的回答

Walter Roberson
Walter Roberson 2011-3-4
It is not always possible to recognize comets from a single image. You need to compare two or more images to determine whether an object has moved, as comets might turn out to only be a single pixel in any one image.

更多回答(1 个)

Sarah Wait Zaranek
From looking at your code, it looks like you are trying to distinquish your comet by finding something fairly white. I am uncertain what you are trying to do by subtracting the two "open" images. If it is to remove noise, you might just want to do it once. If you know anything else about your comet, such as you want a particular aspect ratio, etc -I would try and use other properties to narrow it down.

类别

Help CenterFile Exchange 中查找有关 Graphics Object Properties 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by