Android人脸识别技术用到的底层库:android/external/neven/,framework 层:frameworks/base/media/java/android/media/FaceDetector.java。

java层接口的限制:

1、只能接受bitmap的数据。

2、只能识别出双眼睛距离不大于20像素的人脸。

3、只能检测人脸的位置,不能对人脸匹配。

下面代码的运行效果:


Android人脸识别技术_第1张图片

@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.andy );//设置最大的人脸数目int maxFaces = 3;//创建人脸识别器FaceDetector detector = new FaceDetector(bitmap.getWidth(),bitmap.getHeight(), maxFaces);//装在人脸的容器Face[] faces = new Face[maxFaces];//寻找脸detector.findFaces(bitmap, faces );//创建可以修改的bitmapBitmap alterBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());Canvas canvas = new Canvas(alterBitmap);Paint paint = new Paint();canvas.drawBitmap(bitmap, 0,0, paint);for(Face face:faces){if (face != null) {//人脸眼睛之间的距离float eyesDistance = face.eyesDistance();//人脸中心点的坐标PointF point = new PointF();//获得人脸的中心点face.getMidPoint(point);Paint paint_ = new Paint();paint_.setColor(Color.GREEN);paint_.setAlpha(100);paint_.setAntiAlias(true);paint_.setStyle(Paint.Style.STROKE);   paint_.setStrokeWidth(3);  //canvas.drawCircle(point.x, point.y,radius , paint_); canvas.drawRect(            //矩形框的位置参数                          (int)(point.x - eyesDistance),                           (int)(point.y - eyesDistance),                           (int)(point.x + eyesDistance),                           (int)(point.y + eyesDistance),                           paint_); ImageView iv = new ImageView(this);iv.setImageBitmap(alterBitmap);setContentView(iv);}}}

主要是通过人脸识别库,找出图片上的人脸,然后根据双眼之间的距离和人脸的中心点,就可以画出人脸的所在地。

更多相关文章

  1. Android属性动画设置中心点
  2. Android:解决RadioGroup中RadioButton的图片自定义及每项间隔距离
  3. android线性布局控件之间的距离设置
  4. C#如何计算传入的时间距离今天的时间差的实例分享
  5. C#通过KD树进行距离最近点的查找的实例分析
  6. 盘一盘机器学习中的那些距离
  7. PHP实例计算经纬坐标间的距离
  8. jquery判断滚动条距离顶部的距离
  9. [LeetCode] 244. Shortest Word Distance II 最短单词距离 II

随机推荐

  1. Android 开发未来的出路何在? | 技术头条
  2. Android(安卓)四种加载方式详解(standard
  3. android是什么意思
  4. Android中MVC的具体体现
  5. Android 的表格控件GridView学习
  6. android之ContentProvider和Uri详解
  7. Android学习路线(二十八)保存文件
  8. Android设备之间通过Wifi通信的示例代码
  9. Android App多个入口的实现方法
  10. 开发自己的监控系统三、移动篇(android)