Bookmark and Share

Software Topics

What vision/image processing libraries are folks using on TI DSPs?
6 replies [Last post]
squreshi
Offline
Last seen: 1 year 19 weeks ago
Level 4: Thaumaturgist
Joined: 2011-05-31
Points: 95

As far as I know, OpenCV hasn't been ported to the TI C6x. What do people do then, who are implementing vision on those DSPs? The TI IMGLIB is somewhat limited and I don't think has been updated recently. Are people just rolling their own convolutions, edge detectors etc?

ismail
Offline
Last seen: 2 years 41 weeks ago
Level 1: Prestidigitator
Joined: 2016-04-02
Points: 1

Hello Shiyi,

I came across your post and learned that you are an algorithm developer for C6000 DSPs. If so, could you help me by answering a couple of questions about the Imaging Library for C66x devices?

Specifically, I am trying to use a wavelet function (IMG_wave_horz) on the TMS320C6657. However, in the file which contains the main function (IMG_wave_horz_d.c), I try to output the filter coefficients (in the array qmf), and I get random values. This means that I have to set the coefficients myself, right? But the documentation says that the functions uses a D4 wavelet with four vanishing moments. I thought that four vanishing moments implies D8--so which wavelet should I use? Will all the array elements have values, or will half of the array elements be zero (since D4 has only four coefficients)?

My second question relates to the source code. I looked through all the files, but could not find where IMG_wave_horz is actually defined, though I did find the declaration. Where can I look at the function's internals?

Finally and most importantly, I noticed that the filter arrays are of type short. But don't they need to be floating-point values?? Thanks a lot!

Regards,

Muhammad Ismail Khan

Shiyi Xu
Shiyi Xu's picture
Offline
Last seen: 2 years 16 weeks ago
Level 1: Prestidigitator
Joined: 2011-06-05
Points: 4

I am an vision algorithm developer on TI C6000 DSPs and I find TI's IMGLIB and DSPLIB very useful. I used to evaluate VLIB APIs (PC version) and the results are incorrect. In my opinion, VLIB is not as applicable as IMGLIB, although the former one consists of more complicated routines. IMGLIB is more fundamental and shipped with source codes. After all, vision algrithms are not standardized and the market demands are diverse. Therefore, the block-oriented development flow usually does not work best and I have to spend a lot of time to build algorithm modules from scratch.

p.s. I don't think openCV can be ported to DSP platforms easily. If you want an openCV module to be implemented on DSP, the most effective way is to read the source code and reference in openCV and to rewrite the C code on DSP.

 

RobbySun
Offline
Last seen: 47 weeks 5 days ago
Level 3: Conjurer
Joined: 2011-05-27
Points: 42

TI has a library for video analytics and vision. The current version is 2.0.

http://processors.wiki.ti.com/images/1/18/VLIB.pdf

Has anyone used it? I'm curious to know whether the functions in the library are ported from OpenCV, or written from scratch by TI.

RobbySun
Offline
Last seen: 47 weeks 5 days ago
Level 3: Conjurer
Joined: 2011-05-27
Points: 42

Apparently TI is working on an API reference guide for its vision library, but has not released the document yet.

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

RobbySun
Offline
Last seen: 47 weeks 5 days ago
Level 3: Conjurer
Joined: 2011-05-27
Points: 42

There is an article on EE Times' website that talks about running OpenCV on C6000:

http://www.eetimes.com/electrical-engineers/education-training/tech-pape...

rahulp
Offline
Last seen: 6 years 45 weeks ago
Level 2: Evoker
Joined: 2011-06-10
Points: 18

In addition to TI IMGLIB , they also provide Vision Library(VLIB) for analytics. It contains around 50+ DSP optimized vision algorithms For more information refer:

http://focus.ti.com/pr/docs/preldetail.tsp?sectionId=594&prelId=sc08162