Calculate Area % of either freehand or ellipse ROI

3 ビュー (過去 30 日間)
Victoria
Victoria 2018 年 7 月 30 日
コメント済み: Image Analyst 2018 年 8 月 1 日
Hello - I'm trying to figure out the Area % of a thresholded ROI. Currently, I have my code set so that the image is thresholded, and then the user manual draws a freehand ROI (still debating if freehand or ellipse ROI is better). I want the code to give me the percent of area that is 'white' in the threshold over the total area in that ROI, but currently when I draw in the ROI, it is filled with 1's. How can I do this so that it is not filled and I can find the % Area? Below is my code. Thank you!
I=imread('Image.tif'); figure,imshow(I); BW = imbinarize(I,0.300); figure,imshow(BW); % Ask user to draw ROI. message = sprintf('Draw ROI on the wanted image.\nDouble click to finish drawing.'); uiwait(msgbox(message)); h=imfreehand;
  1 件のコメント
Victoria
Victoria 2018 年 7 月 30 日
Update: I have found a way to find area percent with the following code:
percentageBlack=(1-nnz(BW)/numel(BW))*100;
AreaPercent=(100-percentageBlack)
Now I just need a way for this to ONLY calculate in a nonfilled manually selected ROI. Thanks!

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

採用された回答

Image Analyst
Image Analyst 2018 年 7 月 30 日
Use h to create a mask.
mask = h.createMask;
See attached demo for more details.
  4 件のコメント
Victoria
Victoria 2018 年 8 月 1 日
T1=table(meanGL, sdGL, percentageBlack, AreaPercent);
head(T1,3)
C = table2cell(T1);
%File Location
path= 'C:\Users\Vicki\Documents\Loyola\MATLAB';
%File Name
xlswrite(fullfile(path,'\try.xlsx'), C, int2str(k));
Image Analyst
Image Analyst 2018 年 8 月 1 日
You can use writetable() to write an Excel workbook without doing the convertion to a cell array.

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

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by