56 lines
1.5 KiB
Matlab
Executable File
56 lines
1.5 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) |