|
¡ï Сľ³æ: ½ð±Ò+0.5, ¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
ÀÏʦ£¬ÎÒÓиö·ÖÐÎάÊýµÄ³ÌÐòÓÐЩµØ·½²»Ã÷°×£¬ÏëÇë½ÌÒ»ÏÂÄú£¡Ð¡µÜ²»Ê¤¸Ð¼¤£¡
A=imread('e:\1.jpg');% ¶ÁÈëͼÏñ£¬²¢×ª»¯Îª¾ØÕó
t=graythresh(A);% ¼ÆËã¶þÖµ»¯ãÐÖµ
B=im2bw(A,t);% Êä³öͼÏñµÄ¶þÖµ»¯¾ØÕó%
image(B);
[x,y]=size(B); u=1;% ͼÏñ³ß´ç
V=nonzeros(B);
Area=sum(V)/(x*y);
for side_length=2:110% ¶¨Òå¹Û²â³ß¶È£¬¼´Õý·½ÐÎ(ºÐ×Ó)±ß³¤
Hang=mod(x,side_length);
Lie=mod(y,side_length);
C=B(1:x-Hang,1:y-Lie);% ÈôͼÏñ´óС¡°x¡Áy¡±²»Äܱ»Õý·½ÐÎ%¡°side_length ¡Áside_length¡±Õû³ý£¬ÔòÉáÈ¥¶àÓàµÄ¡°±ß·ù¡±²¿·Ö£»
[m,n]=size(C);
X=reshape(C,side_length, numel(C)/side_length);interim1=sum(X);% ¼ÆÊýÓÐÏñËØ(¡°1¡±)µÄºÐ×ÓÊýY=reshape(interim1,side_length,numel(interim1)/side_length);
interim2=sum(Y);
Number=numel(nonzeros(interim2));
interim=sum(interim2');%µ±ºÐ×ӱ߳¤Îªside_lengthʱ£¬Í³¼Æ³ö¸÷¸ö % ºÐ×ÓÄڵġ°1¡±ÖµÖ®ºÍ¡°interim2¡±£¬ÒÔ¼°ËùÓкÐ×Ó¡°1¡±Öµ×ܺ͡°interim¡±£¬
W(u,1)= Number;
u=u+1;
endy=log(W);
x=log(2:110);
plot(x,y,'o');
Dbox=polyfit(x',y,1)% ÏßÐÔ·½³ÌбÂʵľø¶ÔÖµ¼´ÎªºÐ×ÓάÊý
B=nonzeros(B); Area % ¸½´ø¸ø³öͼÐÎ(ÏñËØΪ1)£¬Õ¼Õû¸öͼ·ùµÄÃæ»ý±ÈÀý
ÉÏÃæÊÇ·ÖÐÎάÊýµÄ³ÌÐò£¬µ«ÊÇÓм¸¸öµØ·½²»Ã÷°×£¬side_length=2:110% ¶¨Òå¹Û²â³ß¶È£¬¼´Õý·½ÐÎ(ºÐ×Ó)±ß³¤£¬Õâ¸ö110ÊÇʲôÒâ˼£¿£¿£¿£¿£¿»¹ÓÐ2Ó¦¸ÃÊǺÐ×ӱ߳¤°É£¿ |
|