Skip to content

Raw Image Capture #774

@stefanoschrs

Description

@stefanoschrs

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

  1. High-quality JPEGs: Even at 100% quality, the ISP (Image Signal Processor) still applies noise reduction and sharpening that cannot be undone.

  2. 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.

  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions