Copyright 2013 The Android Open Source Project Licensed 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. Smart Camera / Auto Snapshot (formerly named SimpleCamera) ReadMe Created by: Benjamin W Hendricks How to build the application: From root: make SmartCamera will build the apk for generic Otherwise, to build the application for a specific device, lunch to that device and then run mm while in the SimpleCamera directory. Then take the given Install path (out/target/.../SmartCamera.apk) and run adb install out/target/.../SmartCamera.apk. The application should then appear in the launcher of your device. You might also need to run adb sync after building to sync the libsmartcamera_jni library Summarized: make SmartCamera adb remount adb sync adb install -r $ANDROID_PRODUCT_OUT/data/app/SmartCamera.apk How to run the application: On a Nexus 7, open up the application from the launcher, and the camera preview should appear. From there, you can go to the gallery with the gallery button or press start to start capturing images. You can also change the number of images to be captured by changing the number on the spinner (between 1-10). What does it do: The application tries to take good pictures for you automatically when in the start mode. On stop, the application will capture whatever images are in the bottom preview and save them to the Gallery. It does this by looking at the following image features: - Sharpness - Brightness - Motion of the device - Colorfulness - Contrast - Exposure (over/under) By comparing each of these features frame by frame, a score is calculated to determine whether an image is better or worse than the previous few frames, and from that score I can determine the great images from the bad ones. What libraries does it use: - Mobile Filter Framework (MFF) - Camera2 API - Renderscript