The Texas Instruments VLIB is an optimizedImage/Video Processing Functions Library for C programmers using c674x devices.It includes many C-callable, assembly-optimized, general-purpose image/videoprocessing routines.
运行这些实例的速度要比用ANSI C编写的同样代码效率高,性能可提高10倍,可以大大减少开发时间。
可供用于:
-
背景建模&相减
-
物体特征提取
-
跟踪与检测
-
低级像素处理(low-levelpixel processing)
安装之后,预编译的库有:
- vlib.lib : Main optimized vlib library
- vlib_cn.lib : C Natural Implementation of vlib library
- common.lib : Common functions required for testing kernels.
对于单核或者多核系统,集成时需要以下步骤:
在系统代码中调用API
需要包含vlib.h
编译代码
编译时,编译器需要能够搜索packages目录,以找到kernelheaders
链接VLIB
-lvlib库所在的目录
支持的函数:
- Exponentially-Weighted Running Mean of a Video
- Exponentially-Weighted Running Variance of a Video
- Uniformly-Weighted Running Mean of a Video
- Uniformly-Weighted Running Variance of a Video
- Statistical Background Subtraction
- Mixture of Gaussians Background Modeling for Grayscale Video
- Image Extraction From Background Models (8-Bit)
- Packing and Unpacking of Binary Mask Images
- Morphological Dilation
- Morphological Erosion
- Connected Components Labeling
- Canny Edge Detection
- Image Pyramid
- Gaussian 5x5 Pyramid Kernel
- Gradient 5x5 Pyramid Kernel
- Recursive IIR Filter: Horizontal, First-Order
- Recursive IIR Filter: Vertical, First-Order
- Integral Image
- Hough Transform for Lines
- Harris Corner Score
- Non-Maximal Suppression (mask output)
- Non-Maximal Suppression (list output)
- Lucas-Kanade Feature Tracking (Sparse Optical Flow)
- Normal Flow
- Kalman Filter
- Nelder-Mead Simplex
- Legendre Moments
- Histogram
- Bhattacharya Distance
- L1 Distance
- Color Space Conversions
- SAD Based Disparity
- Image Rescaling
- Histogram Equalization
- Hog Cell
- Good Features to Track
- L2_normalization
- Gradients, Magnitude, and Orientation
- Hysteresis Thresholding
- Grayscale Morphology
参考:VLIB User's Manual (c674x)
下面是参照网友如何将库加入到DVRRDK中:
lib库需是elf格式的,用ccs5.2可编译elf格式lib库,lib库如何生成具体见1.1.2
1、把Jupitercar.lib拷贝到
/home/DVRRDK/DVRRDK_04.00.00.03/dvr_rdk/mcfw/src_bios6/alg/va/lib
2、rules_c674.mk里添加imglib2_elf.lib所在的路径
在/home/DVRRDK/DVRRDK_04.00.00.03/dvr_rdk/makerules
下打开rules_c674.mk在里面添加:
LIB_PATHS += $(RTSLIB_PATH) \
$(fc_INCLUDE)/ti/sdo/fc/ecpy/lib/debug/ecpy.ae674 \
$(dvr_rdk_PATH)/mcfw/src_bios6/alg/scd/lib/scd.ae674\
$(dvr_rdk_PATH)/mcfw/src_bios6/alg/va/lib/vlib.ae674\
$(dvr_rdk_PATH)/mcfw/src_bios6/alg/va/lib/Jupitercar.lib\
最后一个$(dvr_rdk_PATH)/mcfw/src_bios6/alg/va/lib/Jupitercar.lib\是我添加进去的。
本人从事DM8168 DSP开发。
倡导开源,推进发展。