在hud合格性判断时候主机厂家会要求给出一系列检测指标比如:
旋转度、畸变、梯形、长宽比、笑脸、重影等等。这些指标的计算是通过视觉处理对特定的图片进行比对计算得出,一般用类似下面的点线图来做模板,各点中心的连线用做畸变方面的计算和判定,而图中间的短线可以用于重影(ghost)判断。由于hud虚像尺寸会依据hud类型不同而有差别,所以图像上的测量点数也会有差别。测量点的数量是依据主机厂给出的要求,比如奔驰要求点间距小于0.5度,叠加上点要均匀分布这一个习惯性原则,利用简单的数学关系可以推出最少需要的点数目。
下面是我写的matlab/octave代码,按照小于0.5度要求编写,可以帮助估算点数和间距(在建议参数基础上自行进行微调)。
function [row_n,col_m,ind_up,ind_down,ind_left,ind_right,virtual_img_w,virtual_img_h]=calc_points(fov_h,fov_v,vid)
%funcction to calculate the recommended points for test image
% author:shuaiwen
%usage: calc_points(fov_horizon,fov_vertical,vid)
virtual_img_h=2*vid*tand(fov_v/2);
virtual_img_w=2*vid*tand(fov_h/2);
disp('size of virtual image w x h:');
disp(virtual_img_w);disp(virtual_img_h);
disp("interval between points:");
delta=floor(2*vid*tand(0.5/2))
disp("row x column:")
row_n=floor(virtual_img_w/delta)+1
col_m=floor(virtual_img_h/delta)+1
disp("indent of left and right");
ind_left=ind_right=(virtual_img_w-(row_n-1)*delta)/2.
disp("indent of up");
ind_up=floor((virtual_img_h-(col_m-1)*delta)/3)
disp("indent of down:")
ind_down=virtual_img_h-(col_m-1)*delta-ind_up
利用上面计算工具的辅助,结合手工调整,可以得出下面的参考布局:
类型 | Fov & vid | 虚像宽和高(毫米) | 检测图点数 | 建议边框 |
Hud 2.0
| 9度×3度@3m | 472.21×157.12 | 19×7个测试点,点间距25mm(0.48度) | 左右各11.1mm,上下:2mm和5.12mm, |
Hud3.0 | 9度×3度@4.5m | 708.32×235.67 | 20×7个测试点,点间距35mm(0.45度) | 左右各21.66mm,上下:8mm和17.67mm |
AR-HUD
| 10度×5度@10m | 1749.8×873.22 | 21×11个测试点,点间距80mm(0.46度) | 左右各74.9mm,上下:20mm和53.22mm |