Is it possible to numerically label a segmented image?
2 ビュー (過去 30 日間)
古いコメントを表示
I've written some code to segment, count, and analyze the properties of bacterial colonies in a petri dish. Now, I would like to use principal component analysis to visualize the diversity of bacterial strains present in a given sample. My current method yields the PCA and plots 2 components against each other and even allows me to identify outlier points by number; however, I currently have no way of knowing which colony in my image actually corresponds to number "112" for example. Does anyone know of a way to overlay the colony numbers onto the original image so that I can have a reference point to make sense of the PCA data? I've attached my code if that's helpful.
Thank you in advance!
1 件のコメント
Adam Danz
2015 年 6 月 23 日
編集済み: Adam Danz
2019 年 12 月 13 日
Hello Katalin, if you have the x,y coordinates of the colonies, you can use labelpoints.m found in the file exchange. This function labels large groups of points like this:
and it has an optional outlier parameter that will only label the outliers. But this won't be helpful if you don't have vectors of X,Y values.
採用された回答
Katalin
2015 年 6 月 23 日
Hello! Try this:
M = im2uint8(label/NUM);
imshow(M)
s = regionprops(M, 'Centroid');
hold on
for k = 1:numel(s)
c = s(k).Centroid;
text(c(1), c(2), sprintf('%d', k), ...
'HorizontalAlignment', 'center', ...
'VerticalAlignment', 'middle', 'Color', 'red', 'fontsize',12);
end
hold off
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!