
怎么在MATLAB里求出一个二值图像1值像素和0值像素个数?
如题在MATLAB中求一个二值图像的1值和0值的像素个数并且得出1在总个数中的比值MATLAB我不会用所以感觉很难。。...
如题 在MATLAB中 求一个二值图像的1值和0值的像素个数 并且得出1在总个数中的比值
MATLAB我不会用 所以感觉很难。。 展开
MATLAB我不会用 所以感觉很难。。 展开
2个回答
展开全部
假设你的二值图像变量为“bw”,则数值为“1”的像素个数(设变量“numVal_1”)是:
numVal_1 = sum(sum(bw));
连用两次sum是将图像中数值的行和列分别加在一起,就可求出像素为1的总数。
要求数值为“0”的像素数(设变量“numVal_0”)可以这样:
numVal_0 = length(find(bw==0));
其中“find(bw==0)”输出所有bw为0的像素序号,“length”函数求序号的长度,也就是所求的数值为“0”的像素个数;
比例:
numVal_1/(numVal_1+numVal_0)
或者:
numVal_1/(size(bw,1)*size(bw,2))
其中“size(bw,1)”求bw中的行数,“size(bw,2)”求bw中的列数。
numVal_1 = sum(sum(bw));
连用两次sum是将图像中数值的行和列分别加在一起,就可求出像素为1的总数。
要求数值为“0”的像素数(设变量“numVal_0”)可以这样:
numVal_0 = length(find(bw==0));
其中“find(bw==0)”输出所有bw为0的像素序号,“length”函数求序号的长度,也就是所求的数值为“0”的像素个数;
比例:
numVal_1/(numVal_1+numVal_0)
或者:
numVal_1/(size(bw,1)*size(bw,2))
其中“size(bw,1)”求bw中的行数,“size(bw,2)”求bw中的列数。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询