赞
踩
今天,在使用人脸识别的时候出现了一个问题
我用了两种方法获取照片,一种是自定义相机,一种是调用系统相机
调用系统相机,能够识别出来,没问题,然后我开始把人脸识别接口嵌入UI中,并使用自定义相机
然后,出问题了,不论怎么识别,识别出来的结果都是正确的,也就是说,错误的照片也识别是正确的,这就是个大问题了
但是,自定义相机得到的图片属性和调用系统相机得到的图片是一样的,
然后测试开始
先调用系统相机获得照片,update,然后predict,嗯,可以识别出错误,
然后,调用自定义相机得到的照片开始识别,嗯返回的label都是-1,貌似属于正确的结果,
那么第二个测试
用自定义相机获得照片,update,然后predict,嗯,识别错误,
然后,调用系统相机,识别都能分别返回-1 (正确的也返回-1可能是识别率的问题,也可能是其他原因)
然后我看了下图片,发现自定义相机得到的图片有白点,就是说失真
网上有人说,是bitmap显示的是缩略图,如果图片过大,android加载会很耗内存,所以显示的都是缩略图。
那么假设就是这个原因导致的问题,那么我要做到的是,要么就不用BItmap去读取文件,采用其他方式进行缩放,遗憾的是,找了很久一直没找到有这种方法,如果哪位知道,麻烦留言,多谢
上面方法行不通了,看了看电视剧,灵光一闪,想起之前调用自定义相机会有图片缩放的现象,那时候是camera设置了宽高,注释掉,这种现象才消失
那么我再次设置这一块,设置为我需要的分辨率
- parameters.setPictureSize(ConstantValue.ConstantInt.PICTURE_WIDTH,
- ConstantValue.ConstantInt.PICTURE_HEIGHT);
- // 2.3.3以后不需要下面这行代码
- // camera.setParameters(parameters);
- camera.setDisplayOrientation(90);
一天的时间,就在搞这个 。 。
所幸,有了解决方法
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。