Porting of Android photo application to iPhone(repost)
$500-2000 USD
In Progress
Posted over 12 years ago
$500-2000 USD
Paid on delivery
The task is to port HDR Camera+ application developed by Almalence from Android to iOS. See detailed requirements for more information.
It is possible to enter in a longer-lasting relations with us with intent to provide further updates and support for iPhone port of the HDR Camera+ application. Terms are negotiable.
## Deliverables
I. Overview
Your task will be to port HDR Camera+ application developed by Almalence from Android to iOS.
II. Compliance requirements
The application should work on
iPhone 3Gs
iPhone 4
iPad 2
The upcoming iPhone 4S has 8mpix camera, so every effort should be made
to ensure that application will work with this model too.
No third-party code is allowed to be used in the project, unless verified and
agreed to by Almalence.
3. Deliverables
Source code of the iOS application.
Instructions for building / packaging the application.
Details on any additional requirements if any.
4. Acceptance plan
To be defined.
5. Code / Documentation available
The source code of the HDR Camera+ is available for analysis and workload estimation, provided upon request.
HDR Camera+ android application can be downloaded from android market.
6. Various issues
Important iOS / Android differences
There is no way under iOS to set the exposure compensation for the camera in a direct way (please correct us if there is). Although, it is still possible to instruct the camera to change the exposure in an indirect way. The following algorithm is
proposed:
- Once the capture initiated - a frame is grabbed from the viewfinder for analysis.
- The viewfinder frame is divided into small areas of 16x16 pixels.
- For each area a total sum of all the pixels intensities is computed. Intensity here can be defined simply as (R+G+B)/3 if the frame is grabbed from viewfinder in RGB24 format, or simply as Y component if in YUYV format.
- Coordinates of three areas are extracted: area with highest sum, area with the lowest sum, and the area with the sum closest to the average (for 16x16 pixel area intensity sum this will be 32768).
- Sequentially three frames are taken:
- Camera is instructed to set exposure point of interest to the area with the highest (then the closest to average, then the lowest) intensity (see [login to view URL])
- App should wait till exposure is adjusted
- Full-size image capture
Android provides captured images in a compressed form (JPEG). iOS is capable of delivering uncompressed images. The application should use uncompressed format.
Some of the entries in app preferences are not needed under iOS.
7. Source code
The source code provided is from HDR Camera+ application. To understand how the complete application is operating
on Android you can download a free HDR Camera from the android market. The difference between HDR Camera and HDR Camera+ is the absence of ad's, and additional functionality of shutter sound disabling, geotagging and control over flash (the iPhone app shoudl have all these features)
8. Mimic Processing
The actual HDR image processing will be implemented by Almalence using proprietary image-processing libraries.
For verification of correct operation of the app without these libraries a temporary code should be in place that mimics the processing functionality. Almalence libraries API consist
of just three calls (plus call to Initialize and a call to Release library):
Preview1: Input images are scaled down to 1/4th of original size, then aligned result with minimal HDR processing is calculated. (at the same downscaled resolution). It is enough to simply average input frames together (after downscaling) for mimicing.
Preview2: A proper HDR processing is carried on 1/4th downscaled images. It is ok to have the same mimicking code as for Preview1 here.
Full-size processing: Full-size HDR result is computed. It is enough to simply average full-szie input frames together for mimicking.
For more details - look at the source code.
9. Optional
It is possible to enter in a longer-lasting relations with Almalence Inc with intent to provide further updates and support for iPhone port of the HDR Camera+ application. Terms are negotiable.