AndroidVisionPipeline

Additional

Language
Java
Version
N/A
Created
Aug 10, 2017
Updated
Apr 11, 2020 (Retired)
Owner
Credntia
Contributor
Mehedi Hasan Khan (iamMehedi)
1
Activity
Badge
Generate
Download
Source code

AndroidVisionPipeline

The bare bone pipeline infrastructure required for using google's android vision detectors. Most of the source codes were extracted from Google's android vision sample.

Pre-Requisite

Android Play Services SDK level 26 or greater.

Setup

Gradle

compile 'com.google.android.gms:play-services-basement:latest_version'
compile 'com.google.android.gms:play-services-vision:latest_version'
compile 'online.devliving:mobilevision-pipeline:latest_version'

Maven

<dependency>
  <groupId>online.devliving</groupId>
  <artifactId>mobilevision-pipeline</artifactId>
  <version>latest_version</version>
  <type>pom</type>
</dependency>

Usage

You can add a camera preview with a graphic overlay (to draw stuff over the preview) in xml like this

<online.devliving.mobilevisionpipeline.camera.CameraSourcePreview
        android:id="@+id/preview"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <online.devliving.mobilevisionpipeline.GraphicOverlay
            android:id="@+id/faceOverlay"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

</online.devliving.mobilevisionpipeline.camera.CameraSourcePreview>

There are 2 scale types for the preview defined as

public enum PreviewScaleType{
    FIT_CENTER,
    FILL
}

for FIT_CENTER the preview will shrink (reduce it's width and height) to meet the aspect ratio of the camera's preview size. for FILL the preview will scale up to fill (may be beyond it's view bounds) and meet the aspect ratio of the camera's preview size.

Overlay graphics that you draw in the GraphicOverlay needs to extend the abstract GraphicOverlay.Graphic e.g FaceGraphic in the sample which draws a rectangle around a face that the FaceDetector has detected.

To start the preview and detection you need to provide a CameraSource (requires a Detector to process the frames) and a GraphicOverlay

mPreview.start(mCameraSource, mGraphicOverlay);

License

Copyright 2015 Google, Inc. All Rights Reserved.

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.