欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    部分图像分割的方法(matlab).pdf

    • 资源ID:80999110       资源大小:239.01KB        全文页数:11页
    • 资源格式: PDF        下载积分:19.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要19.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    部分图像分割的方法(matlab).pdf

    大津法:function y1=OTSU(image,th_set)image=imread(color1.bmp);gray=rgb2gray(image);%原图像的灰度图 low_high=stretchlim(gray);%增强图像,似乎也不是一定需要 gray=imadjust(gray,low_high,);%subplot(224);imshow(gray);title(after adjust);count=imhist(gray);r,t=size(gray);n=r*t;l=256;count=count/n;%各级灰度出现的概率 for i=2:l if count(i)=0 st=i-1;break end end%以上循环语句实现寻找出现概率不为 0 的最小灰度值 for i=l:-1:1 if count(i)=0;nd=i-1;break end end%实现找出出现概率不为 0 的最大灰度值 f=count(st+1:nd+1);p=st;q=nd-st;%p 和分别是灰度的起始和结束值 u=0;for i=1:q;u=u+f(i)*(p+i-1);ua(i)=u;end%计算图像的平均灰度值 for i=1:q;w(i)=sum(f(1:i);end%计算出选择不同 k 的时候,A 区域的概率 d=(u*w-ua).2./(w.*(1-w);%求出不同 k 值时类间方差 y,tp=max(d);%求出最大方差对应的灰度级 th=tp+p;if thth)y1(i,j)=x1(i,j);else y1(i,j)=0;end end end%上面一段代码实现分割%figure,imshow(y1);%title(灰度门限分割的图像);程序二:clc;clear;cd D:My DocumentsMATLAB time=now;I=imread(qr4.bmp);figure(1),imshow(I),title(p1_1.bmp);%show the picture I2=rgb2gray(I);figure(2),imshow(I2),title(I2.bmp);%J=medfilt2(I2);figure(3),imshow(J);imwrite(J,J.bmp);M N=size(J);J1=J(1:M/2,1:fix(N/2);J2=J(1:M/2,fix(N/2)+1:N);J3=J(M/2+1:M,1:fix(N/2);J4=J(M/2+1:M,fix(N/2)+1:N);%figure(4),img=J1;T1=test_gray2bw(img);%figure(5),img=J2;T2=test_gray2bw(img);%figure(6),img=J3;T3 =test_gray2bw(img);%figure(7),img=J4;T4=test_gray2bw(img);T=T1,T2;T3,T4;figure,imshow(T)%T1=edge(T,sobel);%figure,imshow(T1);%BW=edge(T,sobel);%figure,imshow(BW);function bw_img=test_gray2bw(img)%大津法 row_img col_img =size(img)all_pix=row_img*col_img%get probability of each pixel().count_pix=zeros(1,256)%pro_pix=for i=1:1:row_img for j=1:1:col_img count_pix(1,img(i,j)+1)=count_pix(1,img(i,j)+1)+1%end end pro_pix=count_pix/all_pix%choose k value;max_kesi=-1 T=0 for k=1:1:while(i=k)wa=wa+pro_pix(1,i+1)%ki ua=ua+i*pro_pix(1,i+1)i=i+1 end if(wa=0.0)continue;else ua=ua/wa end ub=0 wb=0 i=k+1 while(i max_kesi)max_kesi=kesi T=k end end%get bw img bw_img=img for i=1:1:row_img for j=1:1:col_img if(img(i,j)=T)bw_img(i,j)=0 else bw_img(i,j)=255 end end end imwrite(bw_img,bw_img.bmp)figure(),imshow(bw_img.bmp)%,title(bw_ing)区域生长法:close all;clear all;clc;A=dicomread(im.dcm);%读入图像(医学 CT 图像)%seed=200,220;%选择起始位置 thresh=6.3;%相似性选择阈值%A=rgb2gray(A0);%A=A0;%灰度化%A=imadjust(A,min(min(double(A)/255,max(max(double(A)/255,);figure,imshow(A,);A=double(A);%将图像灰度化 y,x=getpts;%获得区域生长起始点 x1=round(x);%横坐标取整 y1=round(y);%纵坐标取整 seed=A(x1,y1);B=A;%将 A 赋予 B r,c=size(B);%图像尺寸 r 为行数,c 为列数 n=r*c;%计算图像所包含点的个数 pixel_seed=seed;%原图起始点灰度值 q=x1 y1;%q 用来装载起始位置 top=1;%循环判断 flag M=zeros(r,c);%建立一个与原图形同等大小的矩阵 M(x1,y1)=1;%将起始点赋为 1,其余为 0 count=1;%计数器 while top=0%也可以写成 top!=0 循环结束条件 r1=q(1,1);%起始点行位置 c1=q(1,2);%起始点列位置 p=A(r1,c1);%起始点灰度值 dge=0;for i=-1:1%周围点的循环判断 for j=-1:1 if r1+i0&c1+j0%保证在点周围围之 if abs(A(r1+i,c1+j)-p)=n%如果满足判定条件的点个数大于等于 n top=1;end q=q(2:top,:);top=top-1;end%subplot(1,2,1),figure,imshow(M,displayrange,);figure,%subplot(1,2,2),imshow(B,);%最后是做的一个例子 迭代法:clear all;I=imread(rice.png);ZMAX=max(max(I);%取出最大灰度值 ZMIN=min(min(I);%取出最小灰度值 TK=(ZMAX+ZMIN)/2;bcal=1;ISIZE=size(I);%读出图像大小 while(bcal)iForeground=0;%定义前景和背景数 iBackground=0;ForegroundSum=0;%定义前景和背景灰度总和 BackgroundSum=0;for i=1:ISIZE(1)%循环部分求解读下%for j=1:ISIZE(2)tmp=I(i,j);if(tmp=TK)iForeground=iForeground+1;ForegroundSum=ForegroundSum+double(tmp);%前景灰度值 else iBackground=iBackground+1;BackgroundSum=BackgroundSum+double(tmp);end end end ZO=ForegroundSum/iForeground;%计算前景和背景的平均值 ZB=BackgroundSum/iBackground;TKTmp=uint8(ZO+ZB)/2;if(TKTmp=TK)bcal=0;else TK=TKTmp;end%当阈值不再变化的时候,说明迭代结束 end disp(strcat(迭代后的阀值:,num2str(double(TK);%显示迭代计算后阈值 TK newI=im2bw(I,double(TK)/255);subplot(1,2,1);imshow(I);xlabel(a)原始图像);subplot(1,2,2);imshow(newI);xlabel(b)迭代法分割效果图)%程序 OK 没问题

    注意事项

    本文(部分图像分割的方法(matlab).pdf)为本站会员(l****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开