Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here

libxcam

libXCam is a project for extended camera(not limited in camera) features and focus on image quality improvement and video analysis. There are lots features supported in image pre-processing, image post-processing and smart analysis. This library makes GPU/CPU/ISP working together to improve image quality. OpenCL is used to improve performance in different platforms.

Subscribe to updates I use libxcam


Statistics on libxcam

Number of watchers on Github 108
Number of open issues 4
Main language C++
Average time to merge a PR about 21 hours
Open pull requests 4+
Closed pull requests 112+
Last commit over 1 year ago
Repo Created almost 5 years ago
Repo Last Updated over 1 year ago
Size 3.31 MB
Organization / Authorintel
Contributors10
Page Updated
Do you use libxcam? Leave a review!
View open issues (4)
View libxcam activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating libxcam for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

libXCam

Copyright (C) 2014-2018 Intel Corporation

libxcam core source code under the terms of Apache License, Version 2.0

Description:

libXCam is a project for extended camera features and focus on image quality improvement and video analysis. There are lots features supported in image pre-processing, image post-processing and smart analysis. This library makes GPU/CPU/ISP working together to improve image quality. OpenCL is used to improve performance in different platforms.

Features:

  • Image processing features.
    • Advanced features.
      • Automotive surround view(360) stitching (both OpenCL version and CPU version).
        • Support bowl view 3D model stitching by 4 video input.
        • Enable geometry remap for WFoV camera calibration(intrinsic and extrinsic data).
        • Quality improved (OCL version done, CPU version WIP).
        • CPU version upstreamed into AOSP for automotive surround view.
      • 360 video stitching (Equirectangular mode via OpenCL).
      • Support 2-fisheye (>180 degree) video stream stitching.
      • Performance and quality improved.
      • Digital Video Stabilization:
      • OpenCV feature-matched based video stabilization.
      • gyroscope 3-DoF (orientation) based video stabilization.
      • Blender: multi-band blender (OpenCL).
      • Noise reduction (OpenCL).
      • adaptive NR based on wavelet-haar and Bayersian shrinkage.
      • 3D-NR with inter-block and intra-block reference.
      • wavelet-hat NR (obsolete).
      • Wide dynamic range (WDR) (OpenCL).
      • histogram adjustment tone-mapping.
      • gaussian-based tone-mapping (obsolete).
      • Fog removal: retinex and dark channel prior algorithm (OpenCL).
      • dark channel prior algorithm based defog.
      • multi-scale retinex based defog (obsolete).
    • Basic pipeline from bayer to YUV/RGB format (OpenCL / AtomISP).
      • Gamma correction, MACC, color space, demosaicing, simple bilateral noise reduction, edge enhancement and temporal noise reduction.
    • 3A features.
      • Auto whitebalance, auto exposure, auto focus, black level correction, color correction, 3a-statistics calculation.
  • Support 3rd party 3A lib which can be loaded dynamically.
    • hybrid 3a plugin.
  • Support 3a analysis tuning framework for different features.
  • Support smart analysis framework.
    • Face detection interface/plugin.
  • Enable gstreamer plugin.
    • xcamsrc, capture from usb/isp camera, process 3a/basic/advanced features.
    • xcamfilter, improve image quality by advanced features and smart analysis.

Prerequisite:

Building and installing:

  • Environment variable settings
    For different --prefix options, the environment variables may be different. Please set the environment variable according to the actual situation.
    --prefix=/usr/local:

    export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH
    export GST_PLUGIN_PATH=/usr/local/lib/gstreamer-1.0:$GST_PLUGIN_PATH
    

    --prefix=/usr:

    export LD_LIBRARY_PATH=/usr/lib/:$LD_LIBRARY_PATH
    export GST_PLUGIN_PATH=/usr/lib/gstreamer-1.0:$GST_PLUGIN_PATH
    
  • $ ./autogen.sh [options]

    --prefix=PREFIX         install architecture-independent files in PREFIX [default=/usr/local]
    --enable-debug          enable debug, [default=no]
    --enable-profiling      enable profiling, [default=no]
    --enable-drm            enable drm buffer, [default=yes]
    --enable-aiq            enable Aiq 3A algorithm build, [default=no]
    --enable-gst            enable gstreamer plugin build, [default=no]
    --enable-libcl          enable libcl image processor, [default=yes]
    --enable-opencv         enable opencv library, [default=no]
    --enable-capi           enable libxcam-capi library, [default=yes]
    --enable-docs           build Doxygen documentation [default=no]
    --enable-3alib          enable 3A lib build, [default=no]
    --enable-smartlib       enable smart analysis lib build, [default=no]
    

    For example:

    $ ./autogen.sh --prefix=/usr --enable-gst --enable-libcl --enable-opencv \
      --enable-smartlib --enable-profiling
    
  • $ make

  • $ sudo make install

Testing:

Reporting Bugs:

Mailing list

Maintainer:

Contributors: (orders by first name)

libxcam open issues Ask a question     (View All Issues)
  • about 3 years About Digital WDR
  • about 3 years About gamma table setting?
  • over 3 years 关于libxcam编译的问题
libxcam open pull requests (View All Pulls)
  • cl-360-stitch: adjust sititch info based on adaptive parameters
  • cl-stitch: restructure feature match
  • libdvs: check OpenCV videostab module to enable/disable build
  • Fix build errors
libxcam list of languages used
Other projects in C++