How do I find the percentage for the area of white colour over the area of the full image?

6 ビュー (過去 30 日間)
This is an image i have eroded and dilated. How do i find the percentage of the white ?

採用された回答

John BG
John BG 2018 年 5 月 10 日
Hi Nursyahirah
When one zooms in it turns out that KSSV answer includes a lot of grey pixels wrapping the thick white dots that shouldn't be considered aprt of the pixels.
KSSV code renders a white area of
..
0 0 67
0 0 67
0 0 67
0 5 63
73 73 122
iwant =
0.155080657527910
.
KSSV says the white dots cover 15% of the image.
Yet, when we binarize the image
A1=A(:,:,1);
A2=imbinarize(A1);
imshow(A1)
figure(2);imshow(A2)
px_nz=nnz(A2)
total_px=numel(A2)
px_nz/total_px
px_nz =
23093
total_px =
399582
ans =
0.057792893573785
.
the image only has a 5.7% of white pixels.
.
Comment: Since the question clearly mentions 'full image' there's no need the crop the image.
.
If you find this answer useful would you please be so kind to consider marking my answer as Accepted Answer?
To any other reader, if you find this answer useful please consider clicking on the thumbs-up vote link
thanks in advance for time and attention
John BG
  1 件のコメント
KSSV
KSSV 2018 年 5 月 10 日
Hello...when you save the image....the image has white background in all the corners...so I included the command to crop it...it is a commonsense that the user wants the ratio from whole image ...not a small part of it...

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

その他の回答 (2 件)

KSSV
KSSV 2018 年 5 月 10 日
I = imread('ED.png') ; % REad the image
I = imcrop(I) ; % crop the required part
I = rgb2gray(I) ; % convert to gray image
whitepixels = nnz(I) ;
totalpixels = numel(I) ;
iwant = whitepixels/totalpixels
  2 件のコメント
John BG
John BG 2018 年 5 月 10 日
Hi KSSV
this is John BG jgb2012@sky.com
I just tried your code cropping the entire image and it returns
..
0 0 67
0 0 67
0 0 67
0 5 63
73 73 122
iwant =
0.155080657527910
does it look to you that the white thick dots are anywhere close to a 15% of the whole image?
KSSV
KSSV 2018 年 5 月 10 日
Huummhh...sounds legitimate....what's the solution?

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


Nursyahirah Hafidz
Nursyahirah Hafidz 2018 年 5 月 11 日
now how do i display the percentage on my gui?
  2 件のコメント
John BG
John BG 2018 年 5 月 11 日
編集済み: John BG 2018 年 5 月 11 日
what do you mean by the percentage of your gui?
the percentage is already
amount_white_px/total_amount
use the amount directly, or x100.
Convert it to string with num2str() to use it in any command like: title xlabel ylabel or text, to add as comment directly on the screen?
Or has your gui a specific field? then plug the result to the gui field variable.
If you post another question asking how to key in this found percentage into your gui, and you attach your gui or a sample of it, I will show you how to use this result in your gui.
Regards
John BG
Image Analyst
Image Analyst 2018 年 5 月 11 日
How do you want to display it? In a static text label? In a table control? Over the image in the text overlay?

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

カテゴリ

Help Center および File ExchangeLighting, Transparency, and Shading についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by