再用matlab 来试试转换
思路:
先把图像按下图分割,中间三块分别是:左、前、右(块),两边合成 :后(块)
上面5块合成:上(块),下面合成:下(块),其中上下两边块合成 1块,然后再这4块转换成三角形,再把4个三角拼成一个正方形 成顶、底(块)
读入图像:
%全景图转换为天空盒图
clear;close all;clc;
name='sh.jpg';
im=imread(name);
im=imresize(im,[1000 2000]);%缩放成一个标准大小
简单分割左、前、右、后:
%左
l=w/8+1;r=w*(1/4+1/8);t=h/4;b=h*3/4;
l=fix(l);r=fix(r);t=fix(t);b=fix(b);
le=im(t:b,l:r,:);
le=uint8(le);
figure(2);imshow(le);title('左图');
imwrite(le,'左.jpg');
%前
l=w*(1/4+1/8)+1;r=w*(2/4+1/8);t=h/4;b=h*3/4;
l=fix(l);r=fix(r);t=fix