-
Notifications
You must be signed in to change notification settings - Fork 621
Raw Image Capture #774
Description
Is your feature request related to a problem? Please describe.
I am currently limited by the post-processing and compression artifacts inherent in standard JPEG/PNG capture. When building applications that require high-fidelity image analysis, such as computational photography, advanced OCR, or machine learning-based diagnostic tools, the loss of data in processed images significantly degrades the accuracy of our models. I'm frustrated when I cannot access the "raw" sensor data (DNG/RAW) that the underlying hardware is clearly capable of providing.
Describe the solution you'd like
I would like a new prop or method added to the camera component (e.g., captureQuality="raw" or a takePictureAsync option { format: 'raw' }) that allows for the capture of Bayer raw data, preferably saved in the DNG (Digital Negative) format.
-
For iOS: This should leverage AVCapturePhotoOutput with RAW pixel format types.
-
For Android: This should utilize the Camera2 API's CaptureResult and DngCreator class to save the sensor data.
The resulting URI should point to a .dng file in the temporary directory.
Describe alternatives you've considered
-
High-quality JPEGs: Even at 100% quality, the ISP (Image Signal Processor) still applies noise reduction and sharpening that cannot be undone.
-
Native Modules: Building a custom bridge for both platforms is a significant overhead for a feature that is becoming a standard requirement for modern camera-heavy applications.
-
External Libraries: Most existing React Native camera wrappers focus on UI/UX rather than low-level sensor access, leaving a gap for technical photography needs.
Additional context
Capturing in RAW is essential for apps that want to provide "Pro Mode" features. Modern devices (iPhone 12 Pro+ and most Android flagships) support this via the Camera2/AVFoundation APIs. Adding this would make this library the go-to choice for professional-grade imaging apps in the React Native ecosystem.