Recognition of a comet
3 ビュー (過去 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.
0 件のコメント
採用された回答
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.
0 件のコメント
その他の回答 (1 件)
Sarah Wait Zaranek
2011 年 3 月 4 日
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.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Creating, Deleting, and Querying Graphics Objects についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!