




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大津法: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
2、 i=2:l if count(i)=0 st=i-1; break endend%以上循环语句实现寻找出现概率不为0的最小灰度
3、值for i=l:-1:1 if count(i)=0; nd=i-1; break endend%实现找出出现概率不为0的最大
4、灰度值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*
5、w-ua).2./(w.*(1-w);%求出不同k值时类间方差y,tp=max(d);%求出最大方差对应的灰度级th=tp+p;if th<th_set th=tp+p;else th=th_set; %根据具体情况适当修正门限endy1=zeros(r,t);for i=1
6、:r for j=1:t x1(i,j)=double(gray(i,j); endendfor i=1:r for j=1:t
7、 if (x1(i,j)>th) y1(i,j)=x1(i,j); else
8、0; y1(i,j)=0; end endend%上面一段代码实现分割% figure,imshow(y1);% title('灰度门限分割的图像');程序二:clc; clear; cd 'D:My Do
9、cumentsMATLAB' time = now; I = imread('qr4.bmp'); figure(1),imshow(I),title('p1_1.bmp'); % show the picture I2 = rgb2gray(I); figure(2),im
10、show(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(
11、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&
12、#160;); % 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,
13、'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
14、 = row_img * col_img % get probability of each pixel(ÏñËØ). count_pix = zeros(1,256) % pro_pix = for i = 1 : 1 : row_i
15、mg for j = 1 : 1 : col_imgcount_pix(1,img(i,j)+1) = count_pix(1,img(i,j)+1) + 1 %ͳ¼Æ´ÎÊý end end pro_pix = count_pi
16、x / all_pix % choose k value; max_kesi = -1 T = 0 for k = 1 : 1 : while( i <= k )
17、 wa = wa + pro_pix(1,i+1) %ǰk¸öi£¬Ã¿¸öÏñËØµÄ»Ò¶È¸ÅÂÊ£¬¸ÅÂÊºÍ &
18、#160; ua = ua + i * pro_pix(1,i+1) i = i + 1 end if (
19、0;wa = 0.0 ) continue; else ua = ua / wa end
20、60; ub = 0 wb = 0 i = k + 1 while( i <= 255 ) wb =&
21、#160;wb + pro_pix( 1 , i + 1 ) ub = ub + i * pro_pix( 1 , i + 1 ) i =
22、160;i + 1 end if ( wb = 0.0 ) continue; else
23、60; ub = ub / wb end u = wa * ua + wb * ub % kesi = wa *
24、( ua - u ) * ( ua - u ) + wb * ( ub - u ) * ( ub -u ) % %ÉÏÏÂÕâÁ½¸ö¹«Ê½
25、2;ÇµÈ¼ÛµÄ kesi = wa * wb * (ua - ub)2; if( kesi > max_kesi ) max_kesi = kesi
26、; T = k end end % get bw img bw_img = img for i = 1 : 1 : row_img for
27、j = 1 : 1 : col_img if ( img(i,j) <= T ) bw_img(i,j) = 0 else
28、 bw_img( i,j ) = 255 end end end imwrite(bw_img,'bw_img.bmp') figure(),imshow('bw_img.bmp')%,title('bw_ing'
29、;)区域生长法: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); %纵坐标取整
30、seed=A(x1,y1);B=A;%将A赋予Br,c=size(B); %图像尺寸 r为行数,c为列数n=r*c;%计算图像所包含点的个数pixel_seed=seed;%原图起始点灰度值q=x1 y1;%q用来装载起始位置top=1;%循环判断flagM=zeros(r,c);%建立一个与原图形同等大小的矩阵M(x1,y1)=1;%将起始点赋为1,其余为0count=1;%计数器while top=0 %也可以写成top!=0 循环结束条件r1=q(1,1);%起始点行位置c1=q(1,2);%起始点列位置p=A(r1,c1);%起始点灰度值dge=0;for i=-1:1%周围点的循环判
31、断for j=-1:1if r1+i<=r&r1+i>0&c1+j<=c&c1+j>0%保证在点周围范围之内if abs(A(r1+i,c1+j)-p)<=thresh&M(r1+i,c1+j)=1%判定条件?top=top+1;%满足判定条件top加1,top为多少,则q的行数有多少行 q(top,:)=r1+i c1+j;%将满足判定条件的周围点的位置赋予q,q记载了满足判定的每一外点M(r1+i,c1+j)=1;%满足判定条件将M中相对应的点赋为1count=count+1;%统计满足判定条件的点个数,其实与top此时的值一样
32、B(r1+i,c1+j)=1;%满足判定条件将B中相对应的点赋为1endif M(r1+i,c1+j)=0;%如果M中相对应点的值为0将dge赋为1,也是说这几个点不满足条件dge=1;%将dge赋为1endelsedge=1;%点在图像外将dge赋为1endendend%此时对周围几点判断完毕,在点在图像外或不满足判定条件则将dge赋为1,满足条件dge为0if dge=1%最后判断的周围点(i=1,j=1)是否满足条件,如dge=0,满足。dge=1,不满足。B(r1,c1)=A(x1,y1);%将原图像起始位置灰度值赋予Bendif count>=n%如果满足判定条件的点个数大于等
33、于ntop=1;endq=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);
34、160; %取出最小灰度值TK=(ZMAX+ZMIN)/2;bcal=1;ISIZE=size(I); %读出图像大小while(bcal) iForeground=0; %定义前景和背景数 iBackground=0; ForegroundSum=0; &
35、#160; %定义前景和背景灰度总和 BackgroundSum=0; for i=1:ISIZE(1) %循环部分求解读下% for j=1:ISIZE(2) tmp=I(i,j); if(tmp>=TK) iForeground=iForeground+1;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度样板房样板间租赁与展示协议
- 2025年金融机构安全防护服务合同范本
- 2025年度物联网创业借款合同范本模板
- 2025版体育设施委托代建管理协议
- 贵州省大方县2025年上半年事业单位公开遴选试题含答案分析
- 2025版室外地面铺砖施工进度跟踪合同
- 2025年度房产买卖及社区配套服务协议
- 2025年度建筑测绘简单合同范本
- 2025版税务局税收筹划与税务筹划支持合同
- 2025贷款反担保协议范本:跨境电商贷款反担保示范
- 2025-2026学年人音版(简谱)(2024)初中音乐七年级上册教学计划及进度表
- (2025年标准)佛教无偿捐赠协议书
- 学堂在线 足球运动与科学 章节测试答案
- 公众号合作合同范本
- 2025-2026学年冀教版(三起)(2024)小学英语三年级上册教学计划及进度表
- 山西大同大学《物联网控制》2024-2025学年第一学期期末试卷
- 医院感染病例监测与报告
- 2025新课标中考英语词汇表
- 楼梯 栏杆 栏板(一)22J403-1
- 国家城镇救援队伍能力建设与分级测评指南
- 口腔修复学-纤维桩-PPT课件
评论
0/150
提交评论