双镜头相机视差区域模型
模型说明
双镜头相机视差只产生在镜头连线方向上,所以做一个简化,在某一个平面上视差情况如图,因为遮挡物存在,镜头A和镜头B在背景面有视差区域。
| 参数说明 |
|---|
| \(2a\):两个镜头间距 |
| \(b\):遮挡物边缘相对于镜头中心基线的横向偏移距离 |
| \(l_1\):背景到相机的距离 |
| \(l_2\):遮挡物距离相机的纵向距离 |
| \(\alpha\):视差区域相对于镜头的视角 |
建模结果
在上图中建立直角坐标系,可以计算出\(\alpha\)和\(l_1,l_2,a,b\)之间的数量关系。
计算结果:$$cos\alpha=\frac{\left[ l_2/l1\cdot (b-a)+2a\right]\cdot \left[ l_2/l1\cdot (b+a)\right]+l_2^2}{\sqrt{\left[ l_2/l1\cdot(b-a)+2a\right]2+l_22}\cdot \sqrt{\left[ l_2/l1\cdot(b+a)\right]2+l_22}}$$
华为P9的双镜头之间基准距离为10mm,所以测试中取\(a=0.005\)
\(视差像素数目=\alpha/\omega\cdot N_{pixel}\) 其中\(\alpha\)视差角,\(\omega\)相机横向视场角,\(N_{pixel}\)相机横向像素总数
仿真
取不同位置的遮挡物和不同位置的背景进行仿真计算。结果如图
实拍对比
看不清楚可以去原图网址[http://www.expertreviews.co.uk/mobile-phones/1404578/huawei-p9-review-the-ultimate-dual-lens-camera]看高清大图
上图是华为P9实拍图,左中右分别是:HDR拍照模式,auto彩色拍照模式,黑白拍照模式(只用黑白镜头)。
在图片最下面白墙边缘由于镜头视差的缘故,彩色图有可以看到马路。按照途中估算,背景区域为马路距离镜头约25m,遮挡物(天台白墙)横向偏移0.5m,纵向距离0.75m,带入上述模型中\(b=0.5m,l_1=0.75m,l_2=25m\),计算出视察区域约为25个像素。与图中实际产生的像素偏差基本一致,模型正确。
Matlab计算函数
function result=CalArea(a,b,w,l1,l2)
%a 表示双镜头之间的距离
%b 表示遮挡物相对双镜头相机横向偏移量
%l1 表示遮挡物相对于镜头的纵向距离
%l2 表示背景相对于镜头的距离
%alpha 即视差部分的角度
%w代表横向视场角,角度制
%双镜头相机间隔为10mm,这里a为一半
%华为P9分辨率为2976x3968
%a=0.005;
%w=60;
x1=l2/l1*(b-a)+2*a;
x2=l2/l1*(b+a);
alpha=(x1*x2+l2*l2)/(sqrt(x1^2+l2^2)*sqrt(x2^2+l2^2));
result=acosd(alpha)/w*2976;


浙公网安备 33010602011771号