tztqex.txt
上传用户:yanchunjj
上传日期:2013-07-14
资源大小:1k
文件大小:1k
源码类别:

分形几何

开发平台:

Matlab

  1.   %读取待处理图像
  2.  I=imread('4-1.jpg'); 
  3.  imshow(I);
  4.  %对输入的图像I进行形态学开操作,去掉不完全包含在圆盘中的对象
  5.    bw=imopen(I,strel('line',10,45));
  6.    %反白处理
  7.  bw=imcomplement(bw);
  8.  %将图像转化为二值图像
  9.  bw=im2bw(I,0.75);
  10. figure,imshow(bw);
  11.  %细化(骨架化)
  12. bw=bwperim(bw);   
  13.  figure,imshow(bw);
  14. %去掉象素小于10的细小物体
  15. bw = bwareaopen(bw, 10);
  16.  figure,imshow(bw);
  17.  %清除与边界连通的物体
  18.  bw=imclearborder(bw,4);
  19.  figure,imshow(bw);
  20.  %确定图像中纤维的个数,标示二值图像bw中所有相关部分,并且返回在图像中找到的对象的个数
  21.  [labeled,numObjects]=bwlabel(bw,8);
  22. %测量对象的属性
  23.  graindata=regionprops(labeled,'Area');
  24.  allgrains=[graindata.Area]
  25.  allgrains =266  
  26.             183  
  27.             200   
  28.             148
  29.   M=max(allgrains)
  30.  N=min(allgrains)
  31.  mean(allgrains)
  32. num=size(allgrains)
  33. %绘制一个包含500个柱的直方图来说明纤维大小的分布情况
  34.  hist(allgrains,500)
  35. xlabel('Pixel');
  36. ylabel('Distribution');
  37.  title (['Total Fibre Numbers are:',num2str(num(2))],'color','r')
  38.  %打印图表
  39.  %print-depsc-tiff-r200myplot 
  40. %保存命令窗口数据
  41.  diary filename.m