libXCam - 相机功能扩展开发库


Apache
跨平台
C/C++

软件简介

libXCam是一个扩展相机功能的项目,专注于图像质量改进和视频分析。 图像预处理,图像后处理和智能分析支持许多功能。 该库使GPU / CPU /
ISP协同工作以提高图像质量。 OpenCL用于提高不同平台的性能。

主要特性:

  • Image processing features
    • Advanced features
    • Automotive surround view(360) stitching (OpenCL/CPU/GLES)
      • Support bowl view 3D model stitching by 4 video input.
      • Enable geometry remap for WFoV camera calibration(intrinsic and extrinsic data).
      • Quality and performance improved (OpenCL/CPU/GLES).
      • CPU version upstreamed into AOSP for automotive surround view.
      • Enable Vulkan to improve performance.
    • 360 video stitching (Equirectangular mode via OpenCL)
      • Support 2-fisheye (>180 degree) video stream stitching.
      • Performance and quality improved.
    • DNN inference framework
      • Support pedestrian and vehicle detection.
    • Digital Video Stabilization
      • OpenCV feature-matched based video stabilization.
      • gyroscope 3-DoF (orientation) based video stabilization.
    • Blender: multi-band blender (OpenCL/CPU/GLES)
    • 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.

环境要求:

  • install gcc/g++, automake, autoconf, libtool, gawk, pkg-config
  • Linux kernel > 3.10
  • install ocl-icd-dev, ocl-icd-opencl-dev
  • If –enable-gst, need install libgstreamer1.0-dev, libgstreamer-plugins-base1.0-dev
  • If –enable-aiq, need get ia_imaging lib which we don’t support
  • If –enable-libcl, need compile or install OpenCL driver
  • If –enable-opencv, suggest OpenCV versions [3.0.0 - 3.4.3] (or: OpenCV Wiki)
  • If –enable-render, need compile OpenSceneGraph library with configure option “-DOSG_WINDOWING_SYSTEM=X11”
  • If –enable-gles, need to install Mesa3D library
  • If –enable-vulkan, need to install Mesa3D library
  • If –enable-dnn, need to compile OpenVino inference-engine