62 lines
1.7 KiB
Matlab
Executable File
62 lines
1.7 KiB
Matlab
Executable File
%Disk Image
|
|
%{
|
|
%Imaging ToolBox method
|
|
r=14;
|
|
A=zeros(70,70); %(fIntsc(refPtR:(refPtRExt),refPtC:(refPtCExt)))
|
|
m= {40,40};
|
|
A(m{:})=1;
|
|
B= imdilate(A,strel('disk',r,0) );
|
|
imshow(B)
|
|
|
|
area=pi*r^2
|
|
|
|
clear all
|
|
%}
|
|
|
|
%without Image Proc. Toolbox
|
|
%r=14;
|
|
%A=zeros(70,70);
|
|
%A=zeros(r,r);
|
|
%P=[40,40];
|
|
%center= [refPtR+ round(.5*width), refPtC+ round(.5*width)];
|
|
%A=zeros(70,70);
|
|
%---------------------------------------------------------------------
|
|
%radius=14;
|
|
diaExt=2*(radius+1);
|
|
circBoxA=zeros(diaExt,diaExt);
|
|
center= [radius+2, radius+2];
|
|
[m n ]=size(circBoxA);
|
|
X=bsxfun(@plus,(1:m)', zeros(1,n));
|
|
Y=bsxfun(@plus,(1:n), zeros(m,1));
|
|
cirMask= sqrt(sum(bsxfun(@minus,cat(3,X,Y),reshape(center,1,1,[])) .^2,3))<=radius;
|
|
area=pi*radius^2;
|
|
|
|
cirPixA= nnz(cirMask);
|
|
|
|
optCirMask= double(cirMask);
|
|
optCirMask(optCirMask==0)= 0.8;
|
|
|
|
%+++++++++++Foto Circle Fram(e)+++++++++++++++++++++
|
|
expansion=2;
|
|
radExpan= radius+expansion;
|
|
FdiaExt=2*(radExpan);
|
|
circBoxA=zeros(FdiaExt,FdiaExt);
|
|
center= [radExpan+1, radExpan+1];
|
|
[m n ]=size(circBoxA);
|
|
X=bsxfun(@plus,(1:m)', zeros(1,n));
|
|
Y=bsxfun(@plus,(1:n), zeros(m,1));
|
|
FcirMask= sqrt(sum(bsxfun(@minus,cat(3,X,Y),reshape(center,1,1,[])) .^2,3))<=radExpan;
|
|
|
|
%FcirPixA= nnz(cirMask);
|
|
FoptCirMask= double(FcirMask);
|
|
FoptCirMask(FoptCirMask==1)= 2;
|
|
%FoptCirMask(FoptCirMask==0)= 1;
|
|
%********Combine Masks to create circular boundry************
|
|
padOptCirMask= padarray(optCirMask,[expansion-1 expansion-1],0.8);
|
|
FoptCirMask= FoptCirMask .* padOptCirMask;
|
|
FoptCirMask(FoptCirMask==1.6)= 0.8;
|
|
FoptCirMask(FoptCirMask==0)= 1;
|
|
FoptCirMask(FoptCirMask==2)= 1;
|
|
|
|
%---------------------------------------------------
|
|
%imagesc(cirMask) |