資源簡(jiǎn)介
用matlab,先用一個(gè)程序找到ROI,再結(jié)合空間和灰度信息采用模糊閾值的方法分割圖像。

代碼片段和文件信息
R1=imread(‘IR.jpg‘);
R=R1;
%R=rgb2gray(R1);
%figure;imshow(R);
%?P
a=zeros(1256);
for?n=0:255
????A=find(R==n);
????a(n+1)=length(A);
end
RSize=size(R);
Flag=1;????
asum=0;
i=1;
while(Flag)
????asum=asum+a(i);
????if(asum>RSize(1)*RSize(2)-160*80)
????????Flag=0;
????else
????????i=i+1;
????end
end
double(i)/255
R2=im2bw(Rdouble(i)/255);
%%%%figure;imshow(R2);
%?最大面積
L1=bwlabel(R2);
stats1=regionprops(L1);
Ar=cat(1stats1.Area);
ind=find(Ar==max(Ar));
R3=zeros(size(R));
R3(L1==ind)=1;
figure;imshow(R3);
%?ROI
[row?column]=find(R3>=1);
rmax=max(row);
rmin=min(row);
cmax=max(column);
cmin=min(column);
%?down=max(rmax(rmin+127));
%?up=min(rmin(rmax-127));
%?left=min(cmin(cmax-163));
%?right=max(cmax(cmin+163));
down=rmin+120;
up=rmax-120;
left=cmax-200;
right=cmin+200;
[R4?rect4]=imcrop(R[left?up?(right-left)?(down-up)]);
%%%%figure;imshow(R4);
%?reference
R5=R;
R5(L1~=ind)=0;
g_rmin=min(min(R5(L1==ind)))
[R5?rect5]=imcrop(R5[left?up?(right-left)?(down-up)]);
figure;imshow(R5);
imwrite(R4‘IR_R4.bmp‘);
imwrite(R5‘IR_R5.bmp‘);
%求形心
[R6?rect3]=imcrop(R3[left?up?(right-left)?(down-up)]);
%?L3=bwlabel(R6);
%?stats3=regionprops(L3);
%?Center=cat(1stats3.Centroid)%形心
%?Ar=cat(1stats3.Area)
%?ind3=find(Ar==max(Ar))
imwrite(R6‘IR_R6.bmp‘‘bmp‘);
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????30752??2012-03-18?19:17??IR.jpg
?????文件???????1352??2012-09-22?17:15??ROI1.m
?????文件???????1517??2012-04-05?08:14??ROI2.m
-----------?---------??----------?-----??----
????????????????33621????????????????????3
評(píng)論
共有 條評(píng)論