function mCube
load dtRegProp;
load dtImBiner;
dtPsgi = imBinerProp;
imBw = imBiner;
hMainGui = getappdata(0,'hMainGui');
hAxes2 = getappdata(hMainGui,'hAxes2');
axes(hAxes2);
imScale = imresize(imBw, size(imBw).*[1/2 1]);
shearMatrix = [1 0 0; -1 1 0; 0 0 1];
shearform = maketform('affine',shearMatrix);
imShear = imtransform(imScale,shearform);
sisi = mean([dtPsgi.MajorAxisLength,dtPsgi.MinorAxisLength]);
tx = 0;
ty = round(sisi);
transMatrix = [1 0 0; 0 1 0; tx ty 1];
transform = maketform('affine',transMatrix);
imTrans = imtransform(imShear,transform,'xData',[1 size(imScale,2)+ty], ...
'yData',[1 size(imScale,1)+ty]);
sigma = 1;
radius = 1;
thresh = 0;
disp = 0;
[rShear,cShear] = harris(imShear,sigma,thresh,radius,disp);
[rTrans,cTrans] = harris(imTrans,sigma,thresh,radius,disp);
rnShear = 450 - rShear;
rnTrans = 450 - rTrans;
for i=1:3:4
hold on;
if mod(i,2) == 0
mLine(cTrans(i),rnTrans(i),cTrans(i-1),rnTrans(i-1));
mLine(cTrans(i),rnTrans(i),cTrans(i-2),rnTrans(i-2));
mLine(cShear(i),rnShear(i),cShear(i-1),rnShear(i-1));
mLine(cShear(i),rnShear(i),cShear(i-2),rnShear(i-2));
else
mLine(cTrans(i),rnTrans(i),cTrans(i+1),rnTrans(i+1));
mLine(cTrans(i),rnTrans(i),cTrans(i+2),rnTrans(i+2));
mLine(cShear(i),rnShear(i),cShear(i+1),rnShear(i+1));
mLine(cShear(i),rnShear(i),cShear(i+2),rnShear(i+2));
end
end
for i=1:4
mLine(cTrans(i),rnTrans(i),cShear(i),rnShear(i));
end
end
hMainGui = getappdata(0,'hMainGui');
hAxes2 = getappdata(hMainGui,'hAxes2');
axes(hAxes2);
im = getappdata(0,'hImRes');
[fileName,pathName] = uiputfile('*.bmp','BMP Files(*.bmp)','Save as');
name = fullfile(pathName,fileName);
imwrite(img,name);