实验6医学图像表示与描述 实验目的: 1.了解图像基本的表示方法; 2.如何描述区域的纹理特征; 3.掌握用共生矩阵描述图像的纹理信息; 实验内容: 1.生成图cancer02.bmp的边缘,求出细胞图像的周长,面积,长轴长。 f=imread('cancer02.bmp'); f=im2double(f); I=imread('cancer02.bmp'); % 注意必须保证二值图像中,细胞区域为白色区域或者像素点值为“1” [x,y]=size(I); imshow(I); BW = bwperim(I,8); % 检测细胞的边缘跟踪,用于计算周长 %检测垂直方向连读的周长像素点% P1=0; P2=0; Ny=0; % 记录垂直方向连续周长像素点的个数 for i=1:x for j=1:y if (BW(i,j)>0) P2=j; if ((P2-P1)==1) % 判断是否为垂直方向连续的周长像素点 Ny=Ny+1; end P1=P2; end end end %检测水平方向连读的周长像素点% P1=0; P2=0; Nx=0; % 记录水平方向连续周长像素点的个数 for j=1:y for i=1:x if (BW(i,j)>0) P2=i; if ((P2-P1)==1) % 判断是否为水平方向连续的周长像素点 Nx=Nx+1; end P1=P2; end end end SN=sum(sum(BW)); % 计算周长像素点的总数 Nd=SN-Nx-Ny; % 计算奇数码的链码数目 H=max(sum(I)); % 计算细胞的高度 W=max(sum(I')); % 图象I 经矩阵转置后,计算宽度 disp('周长'); L=sqrt(2)*Nd+Nx+Ny % 计算周长 disp('面积'); A=bwarea(I) % 计算细胞的面积 disp('长轴长'); E=regionprops(f,'MajorAxisLength') 周长 L = 820.4142 面积 A = 3.3241e+004 长轴长 E = MajorAxisLength: 211.8822 2.利用statxture函数,计算下图所示编号1-7的区域,请从liver图大致按照示意图提起25*25的区域,分别计算其平均亮度、平均对比度、平滑度、三阶矩、一致性和熵,分析不同区域各个特性的特点,思考一下如果要分割出 1和 4区域所示的肝脏区域,应该选择那些特性,阈值为多少合适? f=double(imread('liver.bmp')); imshow(uint8(f)); [y1,x1]=getpts;%取点, x1=uint16(x1); y1=uint16(y1); F1=imcrop(f,[x1,y1,24,24]);%获取区域 disp('区域1特性:平均亮度、平均对比度、平滑度、三阶矩、一致性和熵'); statxture(F1) g=f; %将选的区域标定出来 g(x1:x1+24,y1)=255; g(x1:x1+24,y1+24)=255; g(x1,y1:y1+24)=255; g(x1+24,y1:y1+24)=255; imshow(uint8(g)); [y2,x2]=getpts; x2=uint16(x2); y2=uint16(y2); F2 = imcrop(g,[x...