1 ## libXCam 2 3 Copyright (C) 2014-2017 Intel Corporation 4 5 libxcam core source code under the terms of Apache License, Version 2.0 6 7 #### Description: 8 libXCam is a project for extended camera features and focus on image 9 quality improvement and video analysis. There are lots features supported 10 in image pre-processing, image post-processing and smart analysis. This 11 library makes GPU/CPU/ISP working together to improve image quality. 12 OpenCL is used to improve performance in different platforms. 13 14 #### Features: 15 * Image processing features. 16 - Advanced features 17 - 360 Image stiching: generate 360 degree panorama photography by 18 stitching multiple neighbor fisheye images. 19 - Digital Video Stabilization: 20 - OpenCV feature-matched based video stabilization. 21 - gyroscope 3-DoF (orientation) based video stabilization. 22 - Blender: multi-band blender. 23 - Noise reduction. 24 - adaptive NR based on wavelet-haar and Bayersian shrinkage. 25 - 3D-NR with inter-block and intra-block reference. 26 - wavelet-hat NR (obsolete). 27 - Wide dynamic range (WDR). 28 - histogram adjustment tone-mapping. 29 - gaussian-based tone-mapping (obsolete). 30 - Fog removal: retinex and dark channel prior algorithm. 31 - dark channel prior algorithm based defog. 32 - multi-scale retinex based defog (obsolete). 33 - Basic pipeline from bayer to YUV/RGB format. 34 - Gamma correction, MACC, color space, demosaicing, simple bilateral 35 noise reduction, edge enhancement and temporal noise reduction. 36 - 3A features. 37 - Auto whitebalance, auto exposure, auto focus, black level correction, 38 color correction, 3a-statistics calculation. 39 * Support 3rd party 3A lib which can be loaded dynamically. 40 - hybrid 3a plugin. 41 * Support 3a analysis tuning framework for different features. 42 * Support smart analysis framework. 43 - Face detection interface/plugin. 44 * Enable gstreamer plugin. 45 - xcamsrc, capture from usb/isp camera, process 3a/basic/advanced features. 46 - xcamfilter, improve image quality by advanced features and smart analysis. 47 48 #### Prerequisite: 49 * install gcc/g++, automake, autoconf, libtool, gawk, pkg-config 50 * Linux kernel > 3.10 51 * install libdrm-dev 52 * install ocl-icd-dev, ocl-icd-opencl-dev 53 * If --enable-libcl, need compile ocl driver <https://www.freedesktop.org/wiki/Software/Beignet/> 54 * If --enable-opencv, need compile opencv <http://opencv.org> (or: <https://github.com/opencv/opencv/wiki>) 55 * If --enable-gst, need install libgstreamer1.0-dev, libgstreamer-plugins-base1.0-dev 56 * If --enable-aiq, need get ia_imaging lib which we don't support. 57 58 #### Building and installing: 59 * Environment variable settings<BR> 60 For different --prefix options, the environment variables may be different. Please set the environment variable according to the actual situation.<BR> 61 --prefix=/usr/local: 62 63 export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH 64 export GST_PLUGIN_PATH=/usr/local/lib/gstreamer-1.0:$GST_PLUGIN_PATH 65 66 --prefix=/usr: 67 68 export LD_LIBRARY_PATH=/usr/lib/:$LD_LIBRARY_PATH 69 export GST_PLUGIN_PATH=/usr/lib/gstreamer-1.0:$GST_PLUGIN_PATH 70 71 * $ ./autogen.sh [options] 72 73 --prefix=PREFIX install architecture-independent files in PREFIX [default=/usr/local] 74 --enable-debug enable debug, [default=no] 75 --enable-profiling enable profiling, [default=no] 76 --enable-drm enable drm buffer, [default=yes] 77 --enable-aiq enable Aiq 3A algorithm build, [default=no] 78 --enable-gst enable gstreamer plugin build, [default=no] 79 --enable-libcl enable libcl image processor, [default=yes] 80 --enable-opencv enable opencv library, [default=no] 81 --enable-docs build Doxygen documentation [default=no] 82 --enable-3alib enable 3A lib build, [default=no] 83 --enable-smartlib enable smart analysis lib build, [default=no] 84 85 For example: 86 87 $ ./autogen.sh --prefix=/usr --enable-3alib --enable-aiq --enable-gst --enable-drm \ 88 --enable-libcl --enable-opencv --enable-profiling --enable-smartlib 89 90 * $ make 91 * $ sudo make install 92 93 #### Testing: 94 * For detailed test cases, please refer to:<BR> 95 <https://github.com/01org/libxcam/wiki/Tests> 96 97 #### Reporting Bugs: 98 * Bugs or suggestions can be reported on the github issues page:<BR> 99 <https://github.com/01org/libxcam/issues> 100