本发明涉及数据处理技术领域,尤其涉及一种在终端屏幕上进行视力测试的方法、系统及存储介质。
背景技术:
现有的视力测试方法通过视力表进行测试,测试者站在距离视力表5米的距离,医生点指视力表上的视标,测试者说出答案(上、下、左、右),从而完成对测试者的视力情况的测试。
现有测试情况有如下不足:1.需要医生配合才能完成测试。2.必须使用视力表,但是视力表一方面不便于携带,另一方面使用起来也比较麻烦,而且测试者必须站在规定的距离才能进行测试,非常麻烦。
综上,目前的视力测试方法不能够满足用户的需求。
技术实现要素:
为了解决现有技术中的问题,本发明提供了一种在终端屏幕上进行视力测试的方法。
本发明提供了一种在终端屏幕上进行视力测试的方法,包括依次执行如下步骤:
视标尺寸确认步骤:首先接收用户输入的测试距离,根据基本视标尺寸与测试距离的关系得到标准的视标尺寸h,根据标准的视标尺寸h得到各视力等级的视标尺寸z,视标为正方形,标准的视标尺寸h=tg(5/60)°*d,d为用户输入的测试距离,各视力等级的视标尺寸z为标准的视标尺寸h的1.2589倍;
视标物理尺寸确认步骤:获取终端屏幕的屏幕密度,屏幕密度是指在1英寸屏幕内存在的像素点数量,根据计算公式得到各视力等级的视标尺寸z在终端屏幕上的显示尺寸,该显示尺寸的单位为像素,计算公式为:屏幕密度/25.4*z;
视标显示步骤:在终端屏幕上显示各视力等级对应的视标尺寸,并显示各方向的视标;
测试步骤:接收用户输入的识别数据,根据视力测试的规则,生成测试的结果。
作为本发明的进一步改进,所述视标显示步骤包括如下步骤:
视标尺寸判断步骤:获取终端屏幕的屏幕分辨率,根据屏幕分辨率判断视标尺寸是否在设定在区间范围内,若是,那么执行图像生成步骤,否则执行视标尺寸调整步骤;
图像生成步骤:生成随机方向的视标,并进行显示;
视标尺寸调整步骤:若视标尺寸大于最大设定值,那么将当前的视标尺寸缩小,然后返回执行视标尺寸判断步骤;若视标尺寸小于最小设定值,那么将当前的视标尺寸放大,然后返回执行视标尺寸判断步骤。
本发明还提供了一种在终端屏幕上进行视力测试的系统,包括依次运行如下模块:
视标尺寸确认模块:用于首先接收用户输入的测试距离,根据基本视标尺寸与测试距离的关系得到标准的视标尺寸h,根据标准的视标尺寸h得到各视力等级的视标尺寸z,视标为正方形,标准的视标尺寸h=tg(5/60)°*d,d为用户输入的测试距离,各视力等级的视标尺寸z为标准的视标尺寸h的1.2589倍;
视标物理尺寸确认模块:用于获取终端屏幕的屏幕密度,屏幕密度是指在1英寸屏幕内存在的像素点数量,根据计算公式得到各视力等级的视标尺寸z在终端屏幕上的显示尺寸,该显示尺寸的单位为像素,计算公式为:屏幕密度/25.4*z;
视标显示模块:用于在终端屏幕上显示各视力等级对应的视标尺寸,并显示各方向的视标;
测试模块:用于接收用户输入的识别数据,根据视力测试的规则,生成测试的结果。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现本发明所述的方法的步骤。
本发明的有益效果是:视标在终端屏幕上进行显示,无需使用现有的视力表,测试距离可以根据用户的需要进行设置,而且能够在任意终端屏幕上显示出标准物理尺寸的视标,非常方便用户进行视力测试。
附图说明
图1是本发明的方法流程图;
图2是本发明的测试步骤流程图。
具体实施方式
如图1所示,本发明公开了一种终端屏幕上进行视力测试的方法,包括依次执行如下步骤:
步骤1,注册/登录步骤:根据客户端发送的训练请求中携带的用户标识判断该用户是否为初次测试,若该用户为初次测试,则从初始位置开始测试,若不是初次测试,则根据上次测试结果确定用户的起始测试位置。具体为:客户端输入账号和密码,使用okhttp向服务器端发送请求并传递输入的账号和密码,服务器端的登录接口查询数据库,判断是否能登录成功,然后返回给客户端json字符串,客户使用gson解析服务器返回的数据,做出不同的操作。
步骤2,视标尺寸确认步骤:首先接收用户输入的测试距离,根据基本视标尺寸与测试距离的关系得到标准的视标尺寸h,根据标准的视标尺寸h得到各视力等级的视标尺寸z,视标为正方形,标准的视标尺寸h=tg(5/60)°*d,d为用户输入的测试距离,各视力等级的视标尺寸z为标准的视标尺寸h的1.2589倍。
例如,用户想在5米距离位置进行视力测试,那么用户输入的测试距离就是5米(5000mm),那么,基本视标尺寸与测试距离的关系如下:视力等级5.0的标准的视标尺寸h=tg(5/60)°*5000=7.27mm,也就是说,标准的视标尺寸高度是7.27mm,由于视标是正方形的,所以,标准的视标尺寸宽度也是7.27mm。
各视力等级的视标尺寸z为标准的视标尺寸h的1.2589倍,具体为:视力等级5.2对应的视标尺寸z为h/1.25892,视力等级5.1对应的视标尺寸z为h/1.2589,视力等级5.0对应的视标尺寸z为h,视力等级4.9对应的视标尺寸z为h*1.2589,视力等级4.8对应的视标尺寸z为h*1.25892,视力等级4.7对应的视标尺寸z为h*1.25893,视力等级4.6对应的视标尺寸z为h*1.25894,视力等级4.5对应的视标尺寸z为h*1.25895,视力等级4.4对应的视标尺寸z为h*1.25896,视力等级4.3对应的视标尺寸z为h*1.25897,视力等级4.2对应的视标尺寸z为h*1.25898,视力等级4.1对应的视标尺寸z为h*1.25899,视力等级4.0对应的视标尺寸z为h*1.258910。
步骤3,视标物理尺寸确认步骤:获取终端屏幕的屏幕密度,可以直接获取终端的系统参数从而得到屏幕密度,屏幕密度是指在1英寸屏幕内存在的像素点数量也称为dpi,根据计算公式得到各视力等级的视标尺寸z在终端屏幕上的显示尺寸,该显示尺寸的单位为像素,计算公式为:屏幕密度/25.4*z。
当获取到终端屏幕的屏幕密度后,便可以计算出不同手机在测试距离(例如5米)范围内视标尺寸(例如7.27毫米)对应的图片大小是多少像素。
例如,小米6x手机的屏幕密度为403.411,1英寸=25.4mm,小米6x手机对应的5米距离,5.0视力等级的7.27mm计算出来的像素公式为(403.411/25.4)*7.27≈116像素对应显示在小米6x手机上面的视标e大小为116像素。
步骤4,视标显示步骤:在终端屏幕上显示各视力等级对应的视标尺寸,并显示各方向的视标。
步骤4具体包括:
视标尺寸判断步骤:获取终端屏幕的屏幕分辨率,根据屏幕分辨率判断视标尺寸是否在设定在区间范围内,若是,那么执行图像生成步骤,否则执行视标尺寸调整步骤。
图像生成步骤:生成随机方向的视标,并进行显示;默认生成视力等级4.5对应的视标尺寸的图案。
视标尺寸调整步骤:若视标尺寸大于最大设定值,说明视标尺寸超出终端屏幕范围,那么将当前的视标尺寸缩小,例如将当前的视标尺寸缩小0.1(此处的0.1指国际视力表、小数视力表上的0.1,国际视力表等级是0.1-1.2之间,中国视力表的视力等级5.0对应国际视力表的视力等级1.0,此处的0.1可以理解为缩小一个视力等级对应的视标,例如,由视力等级4.7对应的视标缩小为等级4.8对应的视标),然后返回执行视标尺寸判断步骤;若视标尺寸小于最小设定值,说明视标尺寸太小,那么将当前的视标尺寸放大,例如将当前的视标尺寸放大0.1(此处的0.1指国际视力表、小数视力表上的0.1,国际视力表等级是0.1-1.2之间,中国视力表的视力等级5.0对应国际视力表的视力等级1.0,此处的0.1可以理解为放大一个视力等级对应的视标,例如,由视力等级4.7对应的视标放大为等级4.6对应的视标),然后返回执行视标尺寸判断步骤。
步骤5,测试步骤:接收用户输入的识别数据,根据视力测试的规则,生成测试的结果。
步骤6,数据存储步骤:将生成测试的结果存储在终端和/或传输至服务器进行存储。
将生成测试的结果传输至服务器进行存储的具体方法为:完成测试之后提交数据到服务器,post请求向服务器传送数据,数据放传送到服务端url地址,数据对用户不可见。而get是把参数数据队列加到提交的url中,值和表单内各个字段一一对应。
在本发明中,终端包括智能手机、平板电脑、笔记本电脑、台式电脑等具有屏幕的设备。
如图2所示,测试步骤包括:
步骤a:接收用户输入识别数据(例如,识别数据为用户点击上下左右按钮),判断是否和显示的视标图案一致,若是,那么执行步骤b,否则执行步骤51;
步骤b:视标尺寸缩小0.1(此处的0.1指国际视力表、小数视力表上的0.1,国际视力表等级是0.1-1.2之间,中国视力表的视力等级5.0对应国际视力表的视力等级1.0,此处的0.1可以理解为缩小一个视力等级对应的视标,例如,由视力等级4.7对应的视标缩小为等级4.8对应的视标),然后执行步骤c;
步骤c:判断视标尺寸是否为最小,若是,那么,当前视力检测为最高视力,否则执行步骤d;
步骤d:判断上一次视标是否点击正确,若是,那么执行步骤a,否则,当前视力为上一次视标显示的视力;
步骤51:判断上一次视标是否点击正确,若是,那么,当前视力为上一次视标显示的视力,否则执行步骤52;
步骤52:增加视标尺寸,然后执行步骤53;
步骤53:判断视标尺寸是否为最大,若是,那么当前视力检测为最大视标显示的视力,否则增加视标尺寸0.1(此处的0.1指国际视力表、小数视力表上的0.1,国际视力表等级是0.1-1.2之间,中国视力表的视力等级5.0对应国际视力表的视力等级1.0,此处的0.1可以理解为放大一个视力等级对应的视标,例如,由视力等级4.7对应的视标放大为等级4.6对应的视标),然后执行图像生成步骤。
综上,在进行视力测试时,只有两种情况:
1.一种是一直对下去,然后某一个位置错误了,那么当前视力等级就是上一次视力等级。
2.如果他一直错下去,然后对了,那么就是当前视力等级。
本发明还公开了一种在终端屏幕上进行视力测试的模块,包括依次运行如下模块:
视标尺寸确认模块:用于首先接收用户输入的测试距离,根据基本视标尺寸与测试距离的关系得到标准的视标尺寸h,根据标准的视标尺寸h得到各视力等级的视标尺寸z,视标为正方形,标准的视标尺寸h=tg(5/60)°*d,d为用户输入的测试距离,各视力等级的视标尺寸z为标准的视标尺寸h的1.2589倍;
视标物理尺寸确认模块:用于获取终端屏幕的屏幕密度,屏幕密度是指在1英寸屏幕内存在的像素点数量,根据计算公式得到各视力等级的视标尺寸z在终端屏幕上的显示尺寸,该显示尺寸的单位为像素,计算公式为:屏幕密度/25.4*z;
视标显示模块:用于在终端屏幕上显示各视力等级对应的视标尺寸,并显示各方向的视标;
测试模块:用于接收用户输入的识别数据,根据视力测试的规则,生成测试的结果。
各视力等级的视标尺寸z如下:视力等级5.2对应的视标尺寸z为h/1.25892,视力等级5.1对应的视标尺寸z为h/1.2589,视力等级5.0对应的视标尺寸z为h,视力等级4.9对应的视标尺寸z为h*1.2589,视力等级4.8对应的视标尺寸z为h*1.25892,视力等级4.7对应的视标尺寸z为h*1.25893,视力等级4.6对应的视标尺寸z为h*1.25894,视力等级4.5对应的视标尺寸z为h*1.25895,视力等级4.4对应的视标尺寸z为h*1.25896,视力等级4.3对应的视标尺寸z为h*1.25897,视力等级4.2对应的视标尺寸z为h*1.25898,视力等级4.1对应的视标尺寸z为h*1.25899,视力等级4.0对应的视标尺寸z为h*1.258910。
该系统还包括在视标尺寸确认模块之前运行注册/登录模块,在所述注册/登录模块中,根据客户端发送的训练请求中携带的用户标识判断该用户是否为初次测试,若该用户为初次测试,则从初始位置开始测试,若不是初次测试,则根据上次测试结果确定用户的起始测试位置。
该系统还包括在测试模块之后运行数据存储模块,在所述数据存储模块中,将生成测试的结果存储在终端和/或传输至服务器进行存储。
所述视标显示模块包括:
视标尺寸判断模块:用于获取终端屏幕的屏幕分辨率,根据屏幕分辨率判断视标尺寸是否在设定在区间范围内,若是,那么运行图像生成模块,否则运行视标尺寸调整模块;
图像生成模块:用于生成随机方向的视标,并进行显示;
视标尺寸调整模块:若视标尺寸大于最大设定值,那么将当前的视标尺寸缩小,然后返回执行视标尺寸判断模块;若视标尺寸小于最小设定值,那么将当前的视标尺寸放大,然后返回执行视标尺寸判断模块。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现本发明所述的方法的步骤。
本发明具有如下技术优势:视标在终端屏幕上进行显示,无需使用现有的视力表,测试距离可以根据用户的需要进行设置,而且能够在任意终端屏幕上显示出标准物理尺寸的视标,非常方便用户进行视力测试。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。