elucideye / acf

Aggregated Channel Feature object detection in C++ and OpenGL ES 2.0 based on https://github.com/pdollar/toolbox
BSD 3-Clause "New" or "Revised" License
49 stars 20 forks source link

add optimized/separate triangle filter #78

Closed headupinclouds closed 6 years ago

headupinclouds commented 6 years ago

This PR contains a separable optimized TriangleOptProc that address a few open issues (efficiency/speed and exceeding some platformvarying array limits). It also contains some lib/cmake refactoring to accommodate SHARED lib builds and some Windows specific fixes. The CI setup files appveyor.yml and .travis.yml are also updated to use the cleaner/simpler templates from ingenue/hunter testing as well as the drishti/bin/hunter_env.{cmd, sh} and build scripts.

add optimized/separate triangle filter

This separable filter makes use of OpenGL HW texel interpolation to replace two adjacent integer offset kernel coefficients with a single coefficient for a single (interpolated) texel lookup. The code is adapted from the following:

https://github.com/BradLarson/GPUImage/blob/master/framework/Source/GPUImageSingleComponentGaussianBlurFilter.m#L5-L186

Which is released under compatible 3-clause BSD license:

https://github.com/BradLarson/GPUImage/blob/master/License.txt

ACF lib/cmake refactoring to support SHARED builds

Windows