实例介绍
1.去掉了所有动态分配内存的操作,对嵌入式系统有一定的速度提升 2.注释覆盖了大量关键代码 3.减少了代码一半的体积,并且减少了部分健壮性的代码,速度比OpenCV源码提升16% 4.修改了大量数据结构,不依赖CV源码直接编译 5.去掉了double型,改成Int 6.开方改成查表 7.除法改成乘法加位移 8.速度是EMCV的6倍
【实例截图】
【核心代码】
FaceDection
└── FaceDection
├── Debug
│ ├── FaceDection.map
│ ├── FaceDection.out
│ ├── Haar.obj
│ ├── Main.obj
│ ├── Tables.obj
│ ├── Util.obj
│ └── loadCascade.obj
├── Debug.lkf
├── FaceDection
│ └── Debug
│ ├── ccsObjs.opt
│ ├── ccsSrcs.opt
│ ├── makefile
│ ├── objects.mk
│ ├── sources.mk
│ ├── subdir_rules.mk
│ └── subdir_vars.mk
├── FaceDection.CS_
│ ├── FILE.CDX
│ ├── FILE.DBF
│ ├── FILE.FPT
│ ├── SYMBOL.DBF
│ └── SYMBOL.FPT
├── FaceDection.paf2
├── FaceDection.pjt
├── FaceDection.sbl
├── FaceDectionCfg.cmd
├── Haar.asm
├── Haar.cpp
├── Haar.h
├── Main.asm
├── Main.cpp
├── Release
│ ├── FaceDection.map
│ ├── FaceDection.out
│ ├── Haar.obj
│ ├── Main.obj
│ ├── Tables.obj
│ ├── Util.obj
│ └── loadCascade.obj
├── Release.lkf
├── Tables.asm
├── Tables.cpp
├── Tables.h
├── Util.asm
├── Util.cpp
├── Util.h
├── cc_build_Debug.log
├── cc_build_Release.log
├── feedback.txt
├── loadCascade.asm
├── loadCascade.cpp
├── loadCascade.h
└── ti
└── sdo
└── pspdrivers
└── soc
└── dm648
├── docs
│ └── dm648_cslr_userguide.pdf
├── dsp
│ ├── csl.h
│ ├── csl_error.h
│ ├── csl_types.h
│ ├── csl_version.h
│ ├── cslr.h
│ ├── cslr_cache.h
│ ├── cslr_chip.h
│ ├── cslr_cpsw3g.h
│ ├── cslr_ddr2.h
│ ├── cslr_ectl.h
│ ├── cslr_edma3cc.h
│ ├── cslr_edma3tc.h
│ ├── cslr_emifa.h
│ ├── cslr_gpio.h
│ ├── cslr_hpi.h
│ ├── cslr_i2c.h
│ ├── cslr_idma.h
│ ├── cslr_intc.h
│ ├── cslr_mcasp.h
│ ├── cslr_memprot_L1D.h
│ ├── cslr_memprot_L1P.h
│ ├── cslr_memprot_L2.h
│ ├── cslr_pci.h
│ ├── cslr_pllc1.h
│ ├── cslr_pllc2.h
│ ├── cslr_psc.h
│ ├── cslr_sgmii.h
│ ├── cslr_spi.h
│ ├── cslr_sys.h
│ ├── cslr_tmr.h
│ ├── cslr_uart.h
│ ├── cslr_vlynq.h
│ ├── cslr_vport.h
│ ├── package
│ │ ├── build.cfg
│ │ ├── package.bld.xml
│ │ ├── package.defs.h
│ │ ├── package.doc.xml
│ │ ├── package.ext.xml
│ │ ├── package.rel.dot
│ │ ├── package.rel.xml
│ │ ├── package_ti.sdo.pspdrivers.soc.dm648.dsp.c
│ │ ├── ti.sdo.pspdrivers.soc.dm648.dsp.ccs
│ │ └── ti.sdo.pspdrivers.soc.dm648.dsp.sch
│ ├── package.bld
│ ├── package.xdc
│ ├── soc.h
│ ├── ti
│ │ └── sdo
│ │ └── pspdrivers
│ │ └── soc
│ │ └── dm648
│ │ ├── docs
│ │ │ └── dm648_cslr_userguide.pdf
│ │ ├── dsp
│ │ │ ├── csl.h
│ │ │ ├── csl_error.h
│ │ │ ├── csl_types.h
│ │ │ ├── csl_version.h
│ │ │ ├── cslr.h
│ │ │ ├── cslr_cache.h
│ │ │ ├── cslr_chip.h
│ │ │ ├── cslr_cpsw3g.h
│ │ │ ├── cslr_ddr2.h
│ │ │ ├── cslr_ectl.h
│ │ │ ├── cslr_edma3cc.h
│ │ │ ├── cslr_edma3tc.h
│ │ │ ├── cslr_emifa.h
│ │ │ ├── cslr_gpio.h
│ │ │ ├── cslr_hpi.h
│ │ │ ├── cslr_i2c.h
│ │ │ ├── cslr_idma.h
│ │ │ ├── cslr_intc.h
│ │ │ ├── cslr_mcasp.h
│ │ │ ├── cslr_memprot_L1D.h
│ │ │ ├── cslr_memprot_L1P.h
│ │ │ ├── cslr_memprot_L2.h
│ │ │ ├── cslr_pci.h
│ │ │ ├── cslr_pllc1.h
│ │ │ ├── cslr_pllc2.h
│ │ │ ├── cslr_psc.h
│ │ │ ├── cslr_sgmii.h
│ │ │ ├── cslr_spi.h
│ │ │ ├── cslr_sys.h
│ │ │ ├── cslr_tmr.h
│ │ │ ├── cslr_uart.h
│ │ │ ├── cslr_vlynq.h
│ │ │ ├── cslr_vport.h
│ │ │ ├── package
│ │ │ │ ├── build.cfg
│ │ │ │ ├── package.bld.xml
│ │ │ │ ├── package.defs.h
│ │ │ │ ├── package.doc.xml
│ │ │ │ ├── package.ext.xml
│ │ │ │ ├── package.rel.dot
│ │ │ │ ├── package.rel.xml
│ │ │ │ ├── package_ti.sdo.pspdrivers.soc.dm648.dsp.c
│ │ │ │ ├── ti.sdo.pspdrivers.soc.dm648.dsp.ccs
│ │ │ │ └── ti.sdo.pspdrivers.soc.dm648.dsp.sch
│ │ │ ├── package.bld
│ │ │ ├── package.xdc
│ │ │ ├── soc.h
│ │ │ └── tistdtypes.h
│ │ ├── examples
│ │ │ ├── cache
│ │ │ │ ├── build
│ │ │ │ │ ├── Cache_example.pjt
│ │ │ │ │ └── dm648.cmd
│ │ │ │ ├── obj
│ │ │ │ │ ├── Debug
│ │ │ │ │ │ ├── Cache_example.map
│ │ │ │ │ │ └── Cache_example.out
│ │ │ │ │ └── Release
│ │ │ │ │ ├── Cache_example.map
│ │ │ │ │ └── Cache_example.out
│ │ │ │ ├── readme.txt
│ │ │ │ └── src
│ │ │ │ └── Cache_example.c
│ │ │ ├── ddr2
│ │ │ │ ├── build
│ │ │ │ │ ├── Ddr2_example.pjt
│ │ │ │ │ └── dm648.cmd
│ │ │ │ ├── obj
│ │ │ │ │ ├── Debug
│ │ │ │ │ │ ├── Ddr2_example.map
│ │ │ │ │ │ └── Ddr2_example.out
│ │ │ │ │ └── Release
│ │ │ │ │ ├── Ddr2_example.map
│ │ │ │ │ └── Ddr2_example.out
│ │ │ │ ├── readme.txt
│ │ │ │ └── src
│ │ │ │ └── Ddr2_example.c
│ │ │ ├── gpio
│ │ │ │ ├── build
│ │ │ │ │ ├── Gpio_example.pjt
│ │ │ │ │ ├── dm648.cmd
│ │ │ │ │ └── gpio_interrupt.tcf
│ │ │ │ ├── obj
│ │ │ │ │ ├── Debug
│ │ │ │ │ │ ├── Gpio_example.map
│ │ │ │ │ │ └── Gpio_example.out
│ │ │ │ │ └── Release
│ │ │ │ │ ├── Gpio_example.map
│ │ │ │ │ └── Gpio_example.out
│ │ │ │ ├── readme.txt
│ │ │ │ └── src
│ │ │ │ └── Gpio_example.c
│ │ │ ├── i2c
│ │ │ │ ├── build
│ │ │ │ │ ├── I2c_example.pjt
│ │ │ │ │ └── dm648.cmd
│ │ │ │ ├── obj
│ │ │ │ │ ├── Debug
│ │ │ │ │ │ ├── I2c_example.map
│ │ │ │ │ │ └── I2c_example.out
│ │ │ │ │ └── Release
│ │ │ │ │ ├── I2c_example.map
│ │ │ │ │ └── I2c_example.out
│ │ │ │ ├── readme.txt
│ │ │ │ └── src
│ │ │ │ └── I2c_example.c
│ │ │ ├── idma
│ │ │ │ ├── build
│ │ │ │ │ ├── Idma_example.pjt
│ │ │ │ │ └── dm648.cmd
│ │ │ │ ├── obj
│ │ │ │ │ ├── Debug
│ │ │ │ │ │ ├── Idma_example.map
│ │ │ │ │ │ └── Idma_example.out
│ │ │ │ │ └── Release
│ │ │ │ │ ├── Idma_example.map
│ │ │ │ │ └── Idma_example.out
│ │ │ │ ├── readme.txt
│ │ │ │ └── src
│ │ │ │ └── Idma_example.c
│ │ │ ├── intc
│ │ │ │ ├── build
│ │ │ │ │ ├── Intc_example.pjt
│ │ │ │ │ └── dm648.cmd
│ │ │ │ ├── obj
│ │ │ │ │ ├── Debug
│ │ │ │ │ │ ├── Intc_example.map
│ │ │ │ │ │ └── Intc_example.out
│ │ │ │ │ └── Release
│ │ │ │ │ ├── Intc_example.map
│ │ │ │ │ └── Intc_example.out
│ │ │ │ ├── readme.txt
│ │ │ │ └── src
│ │ │ │ ├── Intc_example.c
│ │ │ │ └── intvecs.asm
│ │ │ ├── pllc
│ │ │ │ ├── build
│ │ │ │ │ ├── Pllc_example.pjt
│ │ │ │ │ └── dm648.cmd
│ │ │ │ ├── obj
│ │ │ │ │ ├── Debug
│ │ │ │ │ │ ├── Pllc_example.map
│ │ │ │ │ │ └── Pllc_example.out
│ │ │ │ │ └── Release
│ │ │ │ │ ├── Pllc_example.map
│ │ │ │ │ └── Pllc_example.out
│ │ │ │ ├── readme.txt
│ │ │ │ └── src
│ │ │ │ └── Pllc_example.c
│ │ │ ├── timer
│ │ │ │ ├── build
│ │ │ │ │ ├── Timer_example.pjt
│ │ │ │ │ ├── dm648.cmd
│ │ │ │ │ └── timer_interrupt.tcf
│ │ │ │ ├── obj
│ │ │ │ │ ├── Debug
│ │ │ │ │ │ ├── Timer_example.map
│ │ │ │ │ │ └── Timer_example.out
│ │ │ │ │ └── Release
│ │ │ │ │ ├── Timer_example.map
│ │ │ │ │ └── Timer_example.out
│ │ │ │ ├── readme.txt
│ │ │ │ └── src
│ │ │ │ └── Timer_example.c
│ │ │ ├── tsc
│ │ │ │ ├── build
│ │ │ │ │ ├── Tsc_example.pjt
│ │ │ │ │ └── dm648.cmd
│ │ │ │ ├── obj
│ │ │ │ │ ├── Debug
│ │ │ │ │ │ ├── Tsc_example.map
│ │ │ │ │ │ └── Tsc_example.out
│ │ │ │ │ └── Release
│ │ │ │ │ ├── Tsc_example.map
│ │ │ │ │ └── Tsc_example.out
│ │ │ │ ├── readme.txt
│ │ │ │ └── src
│ │ │ │ ├── Tsc_example.c
│ │ │ │ └── csl_tsc.asm
│ │ │ └── uart
│ │ │ ├── build
│ │ │ │ ├── Uart_example.pjt
│ │ │ │ └── dm648.cmd
│ │ │ ├── obj
│ │ │ │ ├── Debug
│ │ │ │ │ ├── Uart_example.map
│ │ │ │ │ └── Uart_example.out
│ │ │ │ └── Release
│ │ │ │ ├── Uart_example.map
│ │ │ │ └── Uart_example.out
│ │ │ ├── readme.txt
│ │ │ └── src
│ │ │ └── Uart_example.c
│ │ ├── package
│ │ │ ├── build.cfg
│ │ │ ├── package.bld.xml
│ │ │ ├── package.defs.h
│ │ │ ├── package.doc.xml
│ │ │ ├── package.ext.xml
│ │ │ ├── package.rel.dot
│ │ │ ├── package.rel.xml
│ │ │ ├── package_ti.sdo.pspdrivers.soc.dm648.c
│ │ │ ├── ti.sdo.pspdrivers.soc.dm648.ccs
│ │ │ └── ti.sdo.pspdrivers.soc.dm648.sch
│ │ ├── package.bld
│ │ └── package.xdc
│ └── tistdtypes.h
├── examples
│ ├── cache
│ │ ├── build
│ │ │ ├── Cache_example.pjt
│ │ │ └── dm648.cmd
│ │ ├── obj
│ │ │ ├── Debug
│ │ │ │ ├── Cache_example.map
│ │ │ │ └── Cache_example.out
│ │ │ └── Release
│ │ │ ├── Cache_example.map
│ │ │ └── Cache_example.out
│ │ ├── readme.txt
│ │ └── src
│ │ ├── Cache_example.c
│ │ ├── Cache_example.dsp
│ │ ├── Cache_example.dsw
│ │ ├── Cache_example.ncb
│ │ ├── Cache_example.opt
│ │ ├── Cache_example.plg
│ │ └── Debug
│ │ ├── vc60.idb
│ │ └── vc60.pdb
│ ├── ddr2
│ │ ├── build
│ │ │ ├── Ddr2_example.pjt
│ │ │ └── dm648.cmd
│ │ ├── obj
│ │ │ ├── Debug
│ │ │ │ ├── Ddr2_example.map
│ │ │ │ └── Ddr2_example.out
│ │ │ └── Release
│ │ │ ├── Ddr2_example.map
│ │ │ └── Ddr2_example.out
│ │ ├── readme.txt
│ │ └── src
│ │ └── Ddr2_example.c
│ ├── gpio
│ │ ├── build
│ │ │ ├── Gpio_example.pjt
│ │ │ ├── dm648.cmd
│ │ │ └── gpio_interrupt.tcf
│ │ ├── obj
│ │ │ ├── Debug
│ │ │ │ ├── Gpio_example.map
│ │ │ │ └── Gpio_example.out
│ │ │ └── Release
│ │ │ ├── Gpio_example.map
│ │ │ └── Gpio_example.out
│ │ ├── readme.txt
│ │ └── src
│ │ └── Gpio_example.c
│ ├── i2c
│ │ ├── build
│ │ │ ├── I2c_example.pjt
│ │ │ └── dm648.cmd
│ │ ├── obj
│ │ │ ├── Debug
│ │ │ │ ├── I2c_example.map
│ │ │ │ └── I2c_example.out
│ │ │ └── Release
│ │ │ ├── I2c_example.map
│ │ │ └── I2c_example.out
│ │ ├── readme.txt
│ │ └── src
│ │ └── I2c_example.c
│ ├── idma
│ │ ├── build
│ │ │ ├── Idma_example.pjt
│ │ │ └── dm648.cmd
│ │ ├── obj
│ │ │ ├── Debug
│ │ │ │ ├── Idma_example.map
│ │ │ │ └── Idma_example.out
│ │ │ └── Release
│ │ │ ├── Idma_example.map
│ │ │ └── Idma_example.out
│ │ ├── readme.txt
│ │ └── src
│ │ └── Idma_example.c
│ ├── intc
│ │ ├── build
│ │ │ ├── Intc_example.pjt
│ │ │ └── dm648.cmd
│ │ ├── obj
│ │ │ ├── Debug
│ │ │ │ ├── Intc_example.map
│ │ │ │ └── Intc_example.out
│ │ │ └── Release
│ │ │ ├── Intc_example.map
│ │ │ └── Intc_example.out
│ │ ├── readme.txt
│ │ └── src
│ │ ├── Intc_example.c
│ │ └── intvecs.asm
│ ├── pllc
│ │ ├── build
│ │ │ ├── Pllc_example.pjt
│ │ │ └── dm648.cmd
│ │ ├── obj
│ │ │ ├── Debug
│ │ │ │ ├── Pllc_example.map
│ │ │ │ └── Pllc_example.out
│ │ │ └── Release
│ │ │ ├── Pllc_example.map
│ │ │ └── Pllc_example.out
│ │ ├── readme.txt
│ │ └── src
│ │ └── Pllc_example.c
│ ├── timer
│ │ ├── build
│ │ │ ├── Timer_example.pjt
│ │ │ ├── dm648.cmd
│ │ │ └── timer_interrupt.tcf
│ │ ├── obj
│ │ │ ├── Debug
│ │ │ │ ├── Timer_example.map
│ │ │ │ └── Timer_example.out
│ │ │ └── Release
│ │ │ ├── Timer_example.map
│ │ │ └── Timer_example.out
│ │ ├── readme.txt
│ │ └── src
│ │ └── Timer_example.c
│ ├── tsc
│ │ ├── build
│ │ │ ├── Tsc_example.pjt
│ │ │ └── dm648.cmd
│ │ ├── obj
│ │ │ ├── Debug
│ │ │ │ ├── Tsc_example.map
│ │ │ │ └── Tsc_example.out
│ │ │ └── Release
│ │ │ ├── Tsc_example.map
│ │ │ └── Tsc_example.out
│ │ ├── readme.txt
│ │ └── src
│ │ ├── Tsc_example.c
│ │ └── csl_tsc.asm
│ └── uart
│ ├── build
│ │ ├── Uart_example.pjt
│ │ └── dm648.cmd
│ ├── obj
│ │ ├── Debug
│ │ │ ├── Uart_example.map
│ │ │ └── Uart_example.out
│ │ └── Release
│ │ ├── Uart_example.map
│ │ └── Uart_example.out
│ ├── readme.txt
│ └── src
│ └── Uart_example.c
├── package
│ ├── build.cfg
│ ├── package.bld.xml
│ ├── package.defs.h
│ ├── package.doc.xml
│ ├── package.ext.xml
│ ├── package.rel.dot
│ ├── package.rel.xml
│ ├── package_ti.sdo.pspdrivers.soc.dm648.c
│ ├── ti.sdo.pspdrivers.soc.dm648.ccs
│ └── ti.sdo.pspdrivers.soc.dm648.sch
├── package.bld
└── package.xdc
147 directories, 344 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论