当前位置: 首页 > 软件库 > 程序开发 > 多媒体处理 >

libXCam

相机功能扩展开发库
授权协议 Apache
开发语言 C/C++
所属分类 程序开发、 多媒体处理
软件类型 开源软件
地区 不详
投 递 者 裴俊雅
操作系统 跨平台
开源组织 Intel
适用人群 未知
 软件概览

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
 相关资料
  • SDK对外开放了一个可自定义的协议NtalkerChatDelegate,如果客户想进行自定义实现接口,必须遵守此协议,初始化小能类的时候设置其delagate为实现代理接口方法的类,然后实现相应的接口。其中提供了以下几个接口: 深度自定义控件接口,详细调用细节,请参照demo。 一、自定义消息发送 二、查询历史咨询列表 三、设置超媒体自定义参数 四、+号功能区的扩展功能 五、商品条自定义 六、设

  • 一、发送文本消息到聊窗内 二、返回按钮的点击监听 三、结束会话按钮的点击监听 四、超媒体点击事件的监听 五、+号功能区的扩展功能 六、商品条自定义 七、导航栏自定义

  • QueyList是完全模块化的设计,拥有强大的可扩展性。 使用bind()方法绑定一个功能函数到QueryList对象,实现轻量级的功能扩展。bind()方法的第一个参数是绑定的函数名,第二个参数是一个匿名的功能函数,这个功能函数的$this对象指向的是当前的QueryList实例对象,所以在这个功能函数中可以直接通过$this来调用QueryList的方法。 例子 注册一个自定义的http网络操

  • 自定义引擎各个阶段 可以在测试脚本中或者基类中重写 ActsTestBase 提供的 API。 重写 prepare,execute,check,clear 等。可以通过在 super.prepare() 之前或者之后进行某些操作。 重写 process 方法,在 super.process() 之前或之后进行操作。可将整个脚本重新编排,例如在现有的清理 -> 准备 -> 执行 -> 校验流程中增

  • 阅读《入门指南》和《概述》后,可以将该指南用作扩展组件和功能的概述。鼓励开发人员探索和扩展功能。 自定义扩展用户界面 Browser Actions 将图标,工具提示,徽章和弹出窗口添加到工具栏。 Commands 添加触发操作的键盘快捷键。 Context Menus 将 item 添加到 Google Chrome的上下文菜单。 Omnibox 将关键字功能添加到地址栏。 Override P

  • 实现点击工具栏中“+”号扩展区域内添加自定义事件,比如添加“最近订单”、“最近商品”: 注:图片需要添加到SDK中对应bundle资源文件中 /** @return 扩展内容 例如: @[@{@"picName": @"图片-(1)",@"highLightPicName": @"图片hover",@"name": @"图片1"}, @{@"picName": @"图片-(1)",@"highLi

  • Weex 提供了扩展机制,可以根据自己的业务进行定制自己的功能。 主要分为两类扩展: Module 扩展 非 UI 的特定功能。例如 sendHttp、openURL 等。 Component 扩展 实现特别功能的 Native 控件。例如:RichTextview,RefreshListview 等。 Adapter 扩展 Weex 对一些基础功能实现了统一的接口,可实现这些接口来定制自己的业务

  • 注意:Weex 所有暴露给 JS 的内置 module 或 component API 都是安全和可控的,它们不会去访问系统的私有 API,也不会去做任何 runtime 上的 hack 更不会去改变应用原有的功能定位。 如果需要扩展自定义的 module 或者 component ,一定注意不要将 OC 的 runtime 暴露给 JS ,不要将一些诸如 dlopen(), dlsym(), r