xref: /aosp_15_r20/frameworks/base/tests/Camera2Tests/SmartCamera/README.txt (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1*d57664e9SAndroid Build Coastguard WorkerCopyright 2013 The Android Open Source Project
2*d57664e9SAndroid Build Coastguard Worker
3*d57664e9SAndroid Build Coastguard WorkerLicensed under the Apache License, Version 2.0 (the "License");
4*d57664e9SAndroid Build Coastguard Workeryou may not use this file except in compliance with the License.
5*d57664e9SAndroid Build Coastguard WorkerYou may obtain a copy of the License at
6*d57664e9SAndroid Build Coastguard Worker
7*d57664e9SAndroid Build Coastguard Worker     http://www.apache.org/licenses/LICENSE-2.0
8*d57664e9SAndroid Build Coastguard Worker
9*d57664e9SAndroid Build Coastguard WorkerUnless required by applicable law or agreed to in writing, software
10*d57664e9SAndroid Build Coastguard Workerdistributed under the License is distributed on an "AS IS" BASIS,
11*d57664e9SAndroid Build Coastguard WorkerWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d57664e9SAndroid Build Coastguard WorkerSee the License for the specific language governing permissions and
13*d57664e9SAndroid Build Coastguard Workerlimitations under the License.
14*d57664e9SAndroid Build Coastguard Worker
15*d57664e9SAndroid Build Coastguard Worker
16*d57664e9SAndroid Build Coastguard WorkerSmart Camera / Auto Snapshot (formerly named SimpleCamera) ReadMe
17*d57664e9SAndroid Build Coastguard Worker
18*d57664e9SAndroid Build Coastguard WorkerCreated by: Benjamin W Hendricks
19*d57664e9SAndroid Build Coastguard Worker
20*d57664e9SAndroid Build Coastguard WorkerHow to build the application:
21*d57664e9SAndroid Build Coastguard WorkerFrom root: make SmartCamera will build the apk for generic
22*d57664e9SAndroid Build Coastguard WorkerOtherwise, to build the application for a specific device, lunch to that device
23*d57664e9SAndroid Build Coastguard Workerand then run mm while in the SimpleCamera directory.
24*d57664e9SAndroid Build Coastguard WorkerThen take the given Install path (out/target/.../SmartCamera.apk)
25*d57664e9SAndroid Build Coastguard Workerand run adb install out/target/.../SmartCamera.apk. The application should
26*d57664e9SAndroid Build Coastguard Workerthen appear in the launcher of your device.
27*d57664e9SAndroid Build Coastguard WorkerYou might also need to run adb sync after building to sync the
28*d57664e9SAndroid Build Coastguard Workerlibsmartcamera_jni library
29*d57664e9SAndroid Build Coastguard WorkerSummarized:
30*d57664e9SAndroid Build Coastguard Worker    make SmartCamera
31*d57664e9SAndroid Build Coastguard Worker    adb remount
32*d57664e9SAndroid Build Coastguard Worker    adb sync
33*d57664e9SAndroid Build Coastguard Worker    adb install -r $ANDROID_PRODUCT_OUT/data/app/SmartCamera.apk
34*d57664e9SAndroid Build Coastguard Worker
35*d57664e9SAndroid Build Coastguard WorkerHow to run the application:
36*d57664e9SAndroid Build Coastguard WorkerOn a Nexus 7, open up the application from the launcher, and the camera preview
37*d57664e9SAndroid Build Coastguard Workershould appear. From there, you can go to the gallery with the gallery button or
38*d57664e9SAndroid Build Coastguard Workerpress start to start capturing images. You can also change the number of images
39*d57664e9SAndroid Build Coastguard Workerto be captured by changing the number on the spinner (between 1-10).
40*d57664e9SAndroid Build Coastguard Worker
41*d57664e9SAndroid Build Coastguard WorkerWhat does it do:
42*d57664e9SAndroid Build Coastguard WorkerThe application tries to take good pictures for you automatically when in the
43*d57664e9SAndroid Build Coastguard Workerstart mode. On stop, the application will capture whatever images are in the
44*d57664e9SAndroid Build Coastguard Workerbottom preview and save them to the Gallery. It does this by looking at the
45*d57664e9SAndroid Build Coastguard Workerfollowing image features:
46*d57664e9SAndroid Build Coastguard Worker    - Sharpness
47*d57664e9SAndroid Build Coastguard Worker    - Brightness
48*d57664e9SAndroid Build Coastguard Worker    - Motion of the device
49*d57664e9SAndroid Build Coastguard Worker    - Colorfulness
50*d57664e9SAndroid Build Coastguard Worker    - Contrast
51*d57664e9SAndroid Build Coastguard Worker    - Exposure (over/under)
52*d57664e9SAndroid Build Coastguard Worker
53*d57664e9SAndroid Build Coastguard WorkerBy comparing each of these features frame by frame, a score is calculated to
54*d57664e9SAndroid Build Coastguard Workerdetermine whether an image is better or worse than the previous few frames,
55*d57664e9SAndroid Build Coastguard Workerand from that score I can determine the great images from the bad ones.
56*d57664e9SAndroid Build Coastguard Worker
57*d57664e9SAndroid Build Coastguard WorkerWhat libraries does it use:
58*d57664e9SAndroid Build Coastguard Worker- Mobile Filter Framework (MFF)
59*d57664e9SAndroid Build Coastguard Worker- Camera2 API
60*d57664e9SAndroid Build Coastguard Worker- Renderscript
61