how can I create a circle band imaged from the 3 dots imaged?

3 ビュー (過去 30 日間)
Naomi Penelope
Naomi Penelope 2021 年 7 月 18 日
コメント済み: Image Analyst 2021 年 7 月 18 日
how can I create a circle band imaged from the 3 dots imaged?

回答 (1 件)

Image Analyst
Image Analyst 2021 年 7 月 18 日
Not sure what you mean. Do you want a circle that bounds the 3 blobs? If so, do you want to bound the whole spot, or just the centroids? Please elaborate.
Basically, find the spots using thresholding,
mask = grayImage > someThresholdValue;
then find either
  1. the centroids with regionprops(mask, 'Centroid') or
  2. the farthest point from the center of the 3 spots using regionprops(mask, 'Centroid', 'PixelList')
Then use code from the FAQ
to fit a circle through the 3 points. Then you can use viscircles() to put the circle into the overlay above the gray scale image.
  2 件のコメント
Naomi Penelope
Naomi Penelope 2021 年 7 月 18 日
I want to create a band for each of the circles.
Image Analyst
Image Analyst 2021 年 7 月 18 日
Simply threshold a range of values. See my interactive thresholding app:
To get only 3 blobs, you can get the 3 largest blobs like this:
% Interactively threshold the gray scale image using Image Analyst's function.
[lowThreshold, highThreshold] = threshold(lowThreshold, highThreshold, grayImage);
% Create binary image mask from the thresholds.
mask = grayImage >= lowThreshold & grayImage <= highThreshold;
% Extract 3 largest blobs which will be the rings.
mask = bwareafilt(mask, 3);

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeImage Processing Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by