资源描述:
《图像处理--采用最大熵方法进行图像分割》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数字图象处理课程设计题目:采用最大熵方法进行图像分割班级:电信121学号:3120412014姓名:吴向荣指导老师:王栋起止时间:2016.1.4~2016.1.8西安理工大学源代码:clear,clcimage=imread('C:UsersAdministratorDesktop图像课设3.jpg');subplot(2,2,1);imshow(image);title('原始彩图')%%%灰度图imagegray=rgb2gray(image);%彩色图转换为灰度图subplot(2,2,2);imsho
2、w(imagegray);title('灰度图')%计算灰度直方图分布counts和x分别为返回直方图数据向量和相应的彩色向量count=imhist(imagegray);subplot(2,2,3);imhist(imagegray);title('灰度直方图')[m,n]=size(imagegray);imagegray=fun_maxgray(count,imagegray,m,n);subplot(2,2,4);imshow(imagegray);title('最大熵处理后的图')%%彩色图%r=image(
3、:,:,1);countr=imhist(r);r=fun_maxgray(countr,r,m,n);%subplot(2,2,1);imshow(r);%g=image(:,:,2);countg=imhist(g);g=fun_maxgray(countg,g,m,n);%subplot(2,2,2);imshow(g);%b=image(:,:,3);countb=imhist(b);b=fun_maxgray(countb,b,m,n);%subplot(2,2,3);imshow(b);b=0;forz=1:
4、3figuretitleName=strcat('第',num2str(z),'通道灰度直方图');titleName1=strcat('第',num2str(z),'通道最大熵处理后图');a=image(:,:,z);subplot(1,2,1);imhist(a);title(titleName)countr=imhist(a);a=fun_maxgray(countr,a,m,n);subplot(1,2,2);imshow(a);title(titleName1)b=b+a;endfigure,imshow(b
5、);title('彩色各通道处理后叠加图')最大熵方法进行图像分割的子函数:functionsample=fun_maxgray(count,sample,m,n)countp=count/(m*n);%每一个像素的分布概率E=[];E1=0;E2=0;L=256;forth=2:L-1%循环阈值pth=sum(countp(1:th+1));%计算对应阈值概率ifcountp(th)==0%当阈值概率为0跳出当前循环continue;endfori=1:thifcountp(i)==0%当前像素概率为0,跳出当前循环c
6、ontinue;endE1=E1-countp(i)/pth*log(countp(i)/pth);endfori=th-1:Lifcountp(i)==0continue;endE2=E2-countp(i)/(1-pth)*log(countp(i)/(1-pth));ende=E1+E2;E=[Ee];endth=find(E==(max(E)));%找数组中最大值的阈值%[ma,index]=max(E);fori=1:m%对图像二值化forj=1:nifsample(i,j)>thsample(i,j)=255
7、;elsesample(i,j)=0;e运行结果:其他图片比较: