Welcome to working with RICOH THETA, an Android 7.1.1 OS-based device. Once the 360 degree media (images, videos, live streaming) has been generated, the image processing or other programming that may occur in-camera can be built independently of having the hardware itself.
You can create a plug-in without the camera with the no-camera-template. If you are applying for hardware, please read the document Dream and Build - Apply for Hardware Supplemental Information after you apply for hardware.
If you complete an Android no-camera challenge, your submission will be prioritized over those that just send in ideas for development.
Deadline for Apply for Hardware is April 16, 2019.
Media Assets
Currently, we are providing static images. If you need more assets, please email jcasman@oppkey.com.
Images With Metadata Taken in “Standard” Manner
- R0010123.JPG Equirectangular or viewer - Indoor, default settings, using official mobile app to take picture. This is the default filename convention.
- R0010221.JPG equirectangular or viewer - Indoor. Basic office furniture. Chairs, door, hallway.
- R0010126.JPG or viewer - Human faces. One with glasses. One with no glasses. Street sign.
- R001007.JPG or viewer - Outdoor, default settings. Using official mobile app to take shot.
- R0010211.JPG - Outdoor. Tree, planter, columns, blue sky. No people.
- R0010305.JPG - Many objects inside of retail store. Human profile, standing.
Images Without Metadata Taken with Plug-in Camera API
- plugin_20190305073547.jpg - Equirectangular, taken with CameraAPI - no metadata
Dual Fisheye and Stitched
- fisheye_20181128122155.jpg - Taken with plug-in using Camera API - no metadata
- stitched_with_custom_software_20181128122155.JPG - Stitched with third-party theta stitcher. The original image was dual-fisheye. - no metadata
Mystery Image
- 533185782.778969.jpg - Indoor. 4 human figures and faces. Different filename format. XMP data is different from normal THETA image. Does not have ProjectionType set to equirectangular. Would be great if you can add the ProjectionType metadata back in using an Android app you build on the AVD.
Video With Metadata
- 2k-dual-fisheye.mp4 (16MB)
- 2K-equirectangular.mp4 (19MB)
- 4k-dualfisheye.mp4 (54MB)
- 4k-equirectangular.mp4 (77MB)
Video Without Metadata
- classic_long_20190320161659.mp4 (71MB)
- classic_long_20190320161539.mp4 (85MB)
- classic_long_20190320161726.mp4 (89MB)
Testing Image Processing Without a Camera
The THETA V runs Android OS 7.1 internally. The camera connects to Android Studio with adb and will appear like a normal Android phone. If you do not have a THETA V, you can develop image processing programs using an Android Virtual Device. Build the apk and send it to us for confirmation.
AVD Configuration
- 3GB RAM
- Screen Size: 5”
- Screen Resolution: 720x1028
- System Image: Nougat 7.1 x86
Images are stored in /sdcard/DCIM/100RICOH
Ideas
Idea #1: Apply watermark to THETA Image
Use OpenCV or other image processing library. Create a transparent image with a watermark on it. Save to camera as template. Merge THETA image with transparent image.
Idea #2: Convert JPG to WebP
Create copy of THETA image and save to WebP format
Idea #3: Create Low-Resolution Copy of Video
As the 4K video size is large. Use techniques such as creating a low-resolution version of the video for transmission over slow Internet links for editors to preview and provide feedback on the video.
Idea #4: Convert Video to Short-Looped Animated GIF
Alternate idea is to convert still images to animated GIF
Idea #5 Cloud Upload
Upload image or video to cloud backup or sharing service
Idea #6 Orientation Data as XMP Data
Attach the following data to the image as metadata using Photo Sphere XMP Metadata as a reference.
- PosePitchDegrees (up to one decimal place such as 5.7)
- PoseRollDegrees (up to one decimal place such as 5.7)
- RicohPitch (same value as PosePitchDegrees, but with two decimal places such as 5.67)
- RicohRoll (same value as PosePitchDegrees, but with two decimal places such as 5.67)
Idea #7: Orientation Data as Exif Data
Set orientation data with ExifInterface. This is one of many articles online using ExifInterface.
RICOH THETA Mobile and Desktop Software
https://support.theta360.com/en/download/
Use the Basic app to view images and video. The Basic app can also stitch the videos.
Software Development Resources
- Spherical Metadata specification
- exiftool - command line tool to see metadata
- OpenCV in the RICOH THETA
- TensorFlow in the RICOH THETA
- Complete example of using OpenCV to make HDR files inside the camera
- Camera Sensors - magnetic field, accelerometer, gyroscope
- Source Code for 25 plug-ins
Completing and Submitting Plug-in Without a Camera
This is for people who submitted to Apply for Hardware in the Dream and Build contest but didn’t receive a camera. There is still a good path for submitting a plug-in to the contest.
- Build application with sample media.
- Create AVD. Put sample media in
/sdcard/DCIM/100RICOH/
of the AVD - create method
getPicture()
that returns a String for the filename. The file name will be in this formatR0010126.JPG
- Have your program accept the string and process the file
- there is no UI on the camera. Your program should run when a button on the camera is pressed. For example, the shutter button. For the submission, you can create a button, but we will need to move the code to the camera button.
- Create AVD. Put sample media in
- Submit private GitHub (or BitBucket) repo to @jcasman by DM on this forum
- theta360.guide will send you information on how to register for the Plug-in Partner Program (PPP) with the serial number of a camera we have.
- You must register for the PPP. theta360.guide can assist you if you have any problems
- After you have registered with the PPP, theta360.guide will create a new branch of your code on your repository and modify the branch code to run on a physical hardware camera.
- Oppkey will notify you when the modification is complete
- You test the plug-in and submit to the THETA Plug-in Store. theta360.guide can assist.