opencv人脸识别总结三

今天,在使用人脸识别的时候出现了一个问题


我用了两种方法获取照片,一种是自定义相机,一种是调用系统相机


调用系统相机,能够识别出来,没问题,然后我开始把人脸识别接口嵌入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);

然后,就识别成功了。   。


一天的时间,就在搞这个 。  。 

所幸,有了解决方法




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值