TI中文支持网
TI专业的中文技术问题搜集分享网站

请教下,CCS中c6400目录下的img64x.lib库是如何生成的?

我是一名本科在校生,目前正在在学习开发DM6446,做人脸识别的毕业设计。

DM6446是DSP/ARM双核处理器,ARM端的例程分为codecs、servers、*_app(比如video_osd_app)三个文件夹。

我想在不改变例程框架的前提下,修改、添加上我的算法。经过自己的研究,servers文件夹下有个img64x.lib文件,里面包含了很多算法,并且这个文件就是CCS软件自带的库(具体目录是C:\CCStudio_v3.3\c6400\imglib\lib,并且还提供了一些源代码)。

问题是这个img64x.lib库是怎么生成的?我想修改源代码中部分函数的算法,可是编译都通不过。

另外,我通过修改lib来添加自己的算法实现人脸识别,这个方法是否可行?或者有没有其他更好的方法?

Chris Meng:

Xu Zhenhua,

Image lib提供的库不提供源码,你可以使用库里面提供的API。

Zhenhua Xu:

回复 Chris Meng:

那请教一下如何封装一个符合xDM标准lib库?

我自己在CCS下封装一个lib算法,比如

void IMG_sobel(     const unsigned char *restrict in, /* Input image data */     unsigned char *restrict out, /* Output image data */     short cols, short rows /* Image dimensions */){     int H, O, V, i;     int i00, i01, i02;     int i10, i12;     int i20, i21, i22;     int w = cols;

     for (i = 0; i < cols*(rows-2) – 2; i++)     {          i00=in[i ]; i01=in[i +1]; i02=in[i +2];          i10=in[i+ w]; i12=in[i+ w+2];          i20=in[i+2*w]; i21=in[i+2*w+1]; i22=in[i+2*w+2];

          H = – i00 – 2*i01 – i02 +          + i20 + 2*i21 + i22;

          V = – i00 + i02          – 2*i10 + 2*i12          – i20 + i22;

          O = abs(H) + abs(V);

          if (O > 255) O = 255;

          out[i + 1] = O;     }}

编译后生成*.lib文件成功了,然后在linux下封装成*.x64P却失败了。

是不是编译lib时出错了?

Chris Meng:

回复 Zhenhua Xu:

Xu Zhenhua,

请问你是想封装成codec server么?较新的CE支持IUNIVERSAL的接口。

http://processors.wiki.ti.com/index.php/Getting_started_with_IUNIVERSAL

赞(0)
未经允许不得转载:TI中文支持网 » 请教下,CCS中c6400目录下的img64x.lib库是如何生成的?
分享到: 更多 (0)