程序如下: 你可以逐句输入调试;
imrgb = imread('D:\a.jpg'); %获取彩色图像;imrgb变量自己定义;
imgray = rgb2gray(imrgb); %转化为灰度;
imbw = im2bw(imgray, 0.7 ); %灰度图变成黑白图,0.7为阈值,可以自己调整
imshow(imbw); %查看黑白图效果,如果不好则调整阈值,重复上一步;
imb = imbw(imbw > 0.5); % 得到白图的索引;
[a b] = size(imb); %白图索引的行数,列数
[c d] = size(imbw); %整个图 的行数和列数
rult = a * b/(c * d) %最后结果;
还有啥问题我的邮箱 banhz@zanb.com.cn
楼上正解啊,把灰度大于某阈值T1的像素变为0(帽子),小于另一值T2的也变为0(T1>T2)(人体),介于之间的的为255(背景)。
图像处理工具箱
1.
图像和图像数据
缺省情况下,MATLAB将图像中的数据存储为双精度类型(double),64位浮点
数,所需存储量很大;MATLAB还支持另一种类型无符号整型(uint8),即图像矩
阵中每个数据占用1个字节。
在使用MATLAB工具箱时,一定要注意函数所要求的参数类型。另外,uint8
与double两种类型数据的值域不同,编程需注意值域转换。
从uint8到double的转换
参考资料:
http://herosword.gz.blog.163.com/blog/static/10694914520094157221458/
http://lw.othermap.com/kjqk/doc/othermap.comdoc06019.doc
matlab图像处理问题
序如下:
你可以逐句输入调试;
imrgb
=
imread('D:\a.jpg');
%获取彩色图像;imrgb变量自己定义;
imgray
=
rgb2gray(imrgb);
%转化为灰度;
imbw
=
im2bw(imgray,
0.7
);
%灰度图变成黑白图,0.7为阈值,可以自己调整
imshow(imbw);
%查看黑白图效果,如果不好则调整阈值,重复上一步;
imb
=
imbw(imbw
可以联系我,huangziteng@qq.com
先把图发过来哦~~~