This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

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

Other Parts Discussed in Thread: CCSTUDIO

我是一名本科在校生,目前正在在学习开发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来添加自己的算法实现人脸识别,这个方法是否可行?或者有没有其他更好的方法?

  • Xu Zhenhua,

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

  • 那请教一下如何封装一个符合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时出错了?

  • Xu Zhenhua,

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

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