logo资料库

基于matlab的应用图像处理进行癌细胞检测.doc

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
癌细胞图像均匀化归一化二值化处理 I=imread('F:cancer.bmp');%%读图像 I=I(:,:,1); figure(1) subplot(1,2,1) imshow(I) title('原图像') subplot(1,2,2) imhist(I) I2=histeq(I); figure(2) subplot(1,2,1) imshow(I2) title('直方图均衡化') subplot(1,2,2) imhist(I2) [m,n]=size(I2); I1=double(I2);%归一化 M0=150;var0=200; M = 0 ; var = 0; %%M为原图像的均值,var为方差,先进行初始化0 M=double(M); var=double(var); for x = 1 : m for y = 1 : n M = M + I1(x,y); %%求所有像素的灰度和 end M=M/(m*n); %%M1整幅图像的灰度均值 for x=1:m for y=1:n var=var+(I1(x,y)-M).^2; end end end var=var/(m*n); %%var1整幅图像的方差 for x=1:m %%使用归一化的公式进行计算 for y=1:n if I1(x,y)>=M %%如果大于均值 I1(x,y)=M0+sqrt(var0*((I1(x,y)-M).^2)/var); I1(x,y)=M0-sqrt(var0*((M-I1(x,y)).^2)/var); else end end
end Igrey = uint8(I1*255); figure(3);subplot(1,2,1);imshow(I);title('均衡化后图像') subplot(1,2,2);imshow(uint8(I1));title('归一化后的图像') [x,y]=size(I); for i=1:x for j =1:y if(I(i,j)>105) I(i,j)=1; else end; I(i,j)=0; end end 癌细胞图像形态学分析 clc; G=imread('F:4.jpg');%%读图像 I=rgb2gray(G); [x,y]=size(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')); L=sqrt(2)*Nd+Nx+Ny A=bwarea(I); C=4*pi*A/(L*L); R=A/(H*W); E=min(H,W)/max(H,W); Ath1=10000; Ath2=50000; Cth=0.5; Rth=0.5; Eth=0.8; if((A>Ath1)&&(ACth)&&(R<=Rth)&&(E>Eth)) Cancer_Right=1 %结论为癌细胞 end else if(A>Ath2) Cancer_Rignt=2 %结论可疑小细胞癌细胞 Cancer_Rignt=0 %结论为正常细胞 else end end figure(1); imshow(I); figure(2); imshow(BW); 癌细胞图像色度学分析 clc; I=imread('F:cancer.bmp'); [x,y,z]=size(I); myI=double(I); H=zeros(y,x); S=H; HS_I=H; for j=1:x for i=1:y
end if(myI(j,i,2)>=myI(j,i,3)) H(j,i)=Hdegree; H(j,i)=(2*pi-Hdegree); else end if((H(j,i)>=Hth1)||(H(j,i)<=Hth2)) Nred=Nred+1; HS_I(j,i)=((myI(j,i,1)+myI(j,i,2)+myI(j,i,3))/3); S(j,i)=1-3*min(myI(j,i,:))/(myI(j,i,1)+myI(j,i,2)+myI(j,i,3)); if((myI(j,i,1)==myI(j,i,2))&&(myI(j,i,1)==myI(j,i,3))) Hdegree=0; else Hdegree=acos(0.5*(2*myI(j,i,1)-myI(j,i,2)-myI(j,i,3))/((myI(j,i,1) -myI(j,i,2))^2+(myI(j,i,1)-myI(j,i,3))*(myI(j,i,2)-myI(j,i,3)))^0. 5); end end Hth1=0.9*2*pi; Hth2=0.1*2*pi; Nred=0; for i=1:x for j=1:y end end end Ratio=Nred/(x*y); if(Ratio>=0.6) else Red=1 Red=0 end HS_I=uint8(HS_I); figure(1); imshow(I); figure(2); imshow(HS_I);
分享到:
收藏