就是对应的横向白像素点数目和纵向白像素点数目,已经定标了能算了但是我是初学者还没弄清楚怎么写.大概思路是创建一个矩阵扫描每行碰到白点就记下1每多1个就+1,列的也一样这样数据最大值就是横向和纵向白点的总是了 希望有大神写给我看看
图片是104*144,对比一下你的函数算出来数据不对啊..
% 对不起是我搞错,要找白点,需统计 0 的个数(首先要确认 pp 必须是二值,disp(pp) 看看)
p=imread('000.jpg');
pp=rgb2gray(p);
pp=1*(pp>=128)+0*~(pp>=128); %转换为二值图
imshow(pp);
[r,c]=size(pp); %图片宽高
rmax=0;cmax=0;
for k=1:r
mx=c-sum(pp(k,:)); %值为1为白点,求和即为其宽度
rmax=max([rmax mx]);
end
for k=1:c
mx=r-sum(pp(:,k));
cmax=max([cmax mx]);
end
disp(' 横长 纵深');
disp([rmax cmax]);
图片是144*104的 用了新的程序..显示是144 和 104 就是最大值..我晕了..求解..