08 07
几个月前帮一个同学弄了个简单的计算图片上的白点区域占图片中面积百分比的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/ ]
九月 28th, 2010 at 22:24
你好 我有个问题向你请教,关于不同颜色区域的面积积分,如果可以加我QQ297179321
回复
Ye Lin Reply:
九月 28th, 2010 at 22:38
你把每个颜色区域所有像素都加起来,不就是积分的意思么?
说实话,关于matlab图片处理的问题我也不是很在行,只是那天为了解决这个问题,简单研究了一下。
回复
三月 4th, 2011 at 09:26
你好啊……我也有个问题请教啊……如果我想计算一张rgb彩色图像内特定颜色面积占总面积的百分比还有不同颜色间的比例应该怎么写程序啊?很急啊……指导指导~~谢谢~~~~或者加我qq:61116600
回复
Ye Lin Reply:
三月 4th, 2011 at 11:02
我也不太懂啊,你找本matlab图像处理书看一下吧。
回复