海思移植opencv直接进行图像处理
前言:
几年前基础海思,当时做了个火焰探测的项目,变使用了opencv,苦于网上没有资料,都是编译这块的资料; 后先后把Opencv移植到hi35183v200/hi3516dv100/hi3516dv300/hi359av100/rv1126/寒武纪 目前到了在做自己的Sigmastar SSC33X 38板开始预售,希望有个好彩头
Copy
海思移植opencv步骤
交叉编译opencv,网上资料很多,再次不多说;
1.版本选择,海思官方SDK已经说明,很多的图像接口都是参考了2.x的版本;
因此个人在最初移植时也同样使用了2.4版本,后期有使用过3.5版本,但是接口还是用的2.4,几乎没有变动过接口;
2.编译重点
Opencv组件繁杂,在嵌入式使用没必要勾选不必要的组件;少勾选,之勾选基础的组件,才能尽可能保证
Copy
海思端准备工作
1.运算速度
测试过2818ev200/d1516dv300的速度,经过一系列处理后,640*480图片,前置速度400ms后者320ms,
2款芯片主频一个600一个好像900,速度差别不大;
2.色彩空间转换
opencv在海思运行,本身没有多大难度.问题在于运行的速度;opencv使用BGR数据;海思接口出的是yuv12(也能是21忘了)数据;
因此需要吧yuv转到bgr;
3.转换方式
opencv有自己的接口cvColor,但是在嵌入式端转换效率非常的低,耗费CPU,因此需借助硬件的DSP加速;
海思有IVE协处理器,有IVE的色彩转换接口;使用海思的接口速度相当的快;从yu12转换到rgb888,
在opencv3.x中可以用Mat test = cv::Mat(xx,xx,xx,xx,转换后的rgb地址),方式直接开始opencv的操作;
Copy
海思色彩空间转换工作
晚上写...
