几个月前帮一个同学弄了个简单的计算图片上的白点区域占图片中面积百分比的matlab小程序。几天前他告诉我还想用一下,可是不知道保存到哪里去了,找不到了,弄丢了,让我帮他找找,我还是放在博客上吧,这下丢不了了。

问题是这样的:有下面这样一些图片,需要计算一下上面的白色部分区域站总面积的百分比是多少,常用的软件好像没有这样的功能,于是就想到了matlab。

其实蛮简单的,先将图片二值化一下,就是根据一个阈值,将图像上不黑不白的部分强行设为黑色或白色,便于统计,如果阈值设为0.5,二值化效果如下:

Matlab程序如下:

clear;clc;
close all
X=imread('image_name.jpg');
[a,b,c]=size(X);
figure(1)
imshow(X)
bw=im2bw(X,0.5);  %这个0.5就是阈值,可以根据情况适当调整
figure(2)
imshow(bw)
black=0;
for i=1:a
    for j=1:b
        if (bw(i,j)==0)
            black=black+1;
        end
    end
end
P=1-black/(a*b)
如转载,请以超链接形式注明:转载自:有个博客 [ http://www.yelinsky.com/blog/ ]




Tags: ,