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.

Is Basic Image Processing with Tiva-C possible?

Other Parts Discussed in Thread: EK-TM4C1294XL, TMS320C6671

Hello this is my first time posting here and I keep hearing how great and responsive the community here so here's my problem and question,

For senior design our group is working on a lego sorter using image processing. It's going to use a set library of lego blocks and sort them by color or shape the user will decide. We're using ten receptacles so lets assume 10 distinct block shapes and 10 distinct colors. For image processing we thought of the beagle bone and raspberry pi and everyone is saying to use the beagle bone and raspberry pi but we feel it will be over kill because we're not looking for any high res images or anything and it will just consume more power than needed just enough to recognize color, shape, and number of studs if any. Basically we don't want an OS involved in image processing if possible. I read that ARM is the way to go for this kind of problem and I recently got a hold of the newest Tiva-C (TM4C1294). http://www.ti.com/tool/EK-TM4C1294XL. We're still in the design phase so we're not sure how much memory we need for this.

And I recently found out about a camera module online, the OV7670 and it looks like it can fit into the micro controller since we don't have a way to link a web cam with usb to the processor yet without going strait to the beagle bone and raspberry pi. 

http://developer.mbed.org/users/edodm85/notebook/ov7670-camera-module/

So the question is: Is the Tiva able to handle this kind of problem? Or maybe multiple Tivas each handling a bit of image processing and pass it on to the next?

  • Adenike Adeyemi said:
    Hello this is my first time posting here and I keep hearing how great and responsive the community here so here's my problem and question,

    ??? what this means to be?

    Adenike Adeyemi said:
    For senior design our group is working on a lego sorter using image processing. It's going to use a set library of lego blocks and sort them by color or shape the user will decide. We're using ten receptacles so lets assume 10 distinct block shapes and 10 distinct colors.

     What mean "senior design"?

     Lego toy?

    Adenike Adeyemi said:
    Basically we don't want an OS involved in image processing if possible.

    So you plan develop a monolith without primitive for sincronization nor task control????

     Why??

    Adenike Adeyemi said:
    So the question is: Is the Tiva able to handle this kind of problem?

     Recognize simple color? I bet a simple entry level MSP430 can do it or you plan find color whitin image? That case maybe nor video DSP can do without knowledge nor library and OS support, nor tiva can do much without library and or OS support....

  • Adenike Adeyemi said:
    group is working on a lego sorter using image processing.

    Sometimes the major difference between, "senior design group" & experienced engineer/programmer is the way a problem is initially scripted, analyzed & cast.  We may also note that your problem's, "performance requirement" (i.e. "time to image recognition & relative importance of cost/size/power" is nowhere mentioned.)  Might these prove important? 

    As small, tech biz owner - we always ask (early) can the issue be resolved simply/quickly/dirtily?  (i.e. fast & cheap) 

    Should you, "buy into" any of the above - suggest the following.  (some here note our firm's tech group strongly favors, KISS)

    a) we've passed performed, "quick/dirty" color match test of costume jewelry by "front lighting" the target object and then imposing a sequence of different colored filters (these may even be cellophane) between that target & a "reasonable performance" photo-sensor.  The highest signal output results when the color of the filter best matches that of the target.  Thus - element one of your issue solved.  (quick/dirty)  Note that the filter sequencing may be easily automated - under MCU control.

    b) might you simplify your image analysis by looking only at the "edge" or profile of each, "distinct block shape?"  In this case you change your illumination to, "back-lighting" and either construct an array of photo-sensors or "motorize" a single sensor - so that it can traverse the target's profile height.  Note that it's far easier to resolve an object's physical, "edge/profile" than broader/full object detail.  (as would result from a properly debugged camera image)   Such a simplified technique is oft employed w/in "real-world" conveyors - which must detect/flag an "illegal" object's presence.  Indeed we've paid the bills for many months via the design/development of such (reasonably simple) systems.  Element two (and the last) of your issues now also (likely) solved.  (again, quick/dirty objective met)  Again - edge scan may be automated - ruled by the MCU.

    While your investigation uncovered a nice camera module - few here have reported, "real/easily repeatable" success using that module - and these MCUs.  And - if the analysis & methods (above) meets your (unstated) performance specs - camera may prove, "way over-kill."  And "low" in IQ. (Imagination Quotient)

    KISS rules - simpler solutions most always lead the way to, "better/brighter" ones - should such prove necessary...

  • cb1_mobile said:
    Sometimes the major difference between, "senior design group" & experienced engineer/programmer is the way a problem is initially scripted, analyzed & cast.  We may also note that your problem's, "performance requirement" (i.e. "time to image recognition & relative importance of cost/size/power" is nowhere mentioned.)  Might these prove important? 

     So again and again... what can expect a professional coming here asking for help when this forum was never splitted and hit million of nonsense request???

     CB1 do you remember dual core analysis where lucky  I got no bad word? A cheap solution using multiple TIVA instead of dual core DSP, but DSP was less expensive and far away more close to solution... Now I also know ARM has MAC instruction but I don't know nothing about performance, in case of image manipulation I forever go to Linux based Omap multicore or multicore DSP as other do.

  • Hi Roberto - appears, "senior design group" works/enjoys, "banker's hours."  Pity that (poster's words follow) "the great & responsive forum community's" behavior is not (yet) echoed by poster's group...  XOJet carries us tomorrow - so we'll (likely) have no "free time" to respond/revisit...

    Your past, complex App really did require, "image harvesting followed by processing/manipulation."

    Poster has not proved such need - and absent such proof - I'd most always "default" to KISS.  (fastest/easiest/lowest cost method)  Adding unnecessary complications - avoiding any/all performance specs - may not be the best means to "impress" future employers...  Proper problem/issue investigative analysis followed by (some) consideration of KISS seems a vastly superior path... 

  • Roberto,

    I'm sorry for the confusion. I wasn't sure how to go about stating the problem and question. 

    Roberto Romano said:

    Hello this is my first time posting here and I keep hearing how great and responsive the community here so here's my problem and question,

    ??? what this means to be?

    [/quote]

    Some TI representatives came to our university and mentioned the forums and the community  here I was trying to pay a complement because it's my first time here and was trying to be polite.

    Roberto Romano said:

    For senior design our group is working on a lego sorter using image processing. It's going to use a set library of lego blocks and sort them by color or shape the user will decide. We're using ten receptacles so lets assume 10 distinct block shapes and 10 distinct colors.

     What mean "senior design"?

     Lego toy?

    [/quote]

    Sorry for not clarifying this. Senior Design is a class for engineer students were we have to build a working device. Our project is a LEGO brick sorter.

    Roberto Romano said:

    Basically we don't want an OS involved in image processing if possible.

    So you plan develop a monolith without primitive for sincronization nor task control????

     Why??

    [/quote]

    Our advisor figured that that it may be possible to do image processing without an OS since all we want to do is look at a LEGO brick one at a time with a camera and determine it's color or shape. The User will specify.

    Roberto Romano said:

    So the question is: Is the Tiva able to handle this kind of problem?

     Recognize simple color? I bet a simple entry level MSP430 can do it or you plan find color whitin image? That case maybe nor video DSP can do without knowledge nor library and OS support, nor tiva can do much without library and or OS support....

    [/quote]

    The camera is going to look at one brick at a time on a white background. So would a MSP430 be okay with this or is the DSP and OS support really necessary. We do have a DSP we considered using. http://www.ti.com/product/TMS320C6671 . 

    We haven't gone into detail just yet. We're still doing the high level design of the project before going into detail on what specs we need for this project to work. Again sorry for any confusion in my part.

    -Adenike

  • CB1,

    The analysis here sound great and appears to fit what our group is looking for at the moment. Sorry about not giving out more details on performance specs or cost. Our design is really high level at the moment and we have gone over the details of our project yet and are still researching known methods and ideas on how to go about this. All this is new to us we're all students and I probably should have mentioned that first. Thank you for the suggestions.

    - Adenike

  • We're wheels up in couple of hours - jammed in meetings.  Your sorrow never requested/required - yet you should "think through" issues in a more "business-like" manner.  (future employers will first sense - and clearly value that...)

    My dual mentions stemmed from actual projects my firm bid for/won.  Many times - ability to exploit KISS enables a small, resourceful firm to "beat" far larger.  And - graduates & interns we hire who know (and practice) "KISS-First" most always do best - develop fastest - exhibit best career progress.

    In medicine (one of our areas) it's vital to establish a performance, "baseline."  (i.e. patient's "vitals")  We generalize that technique as I embodied (in your behalf) so that the expense & effort "lag" imposed by the camera may be avoided.  Our method far quicker/better creates such a performance "baseline" - and challenges your team to employ methods/madness which our small tech firm (and many, similar others) use on (near daily) basis...  (i.e. automating the filter "change-over" and profile edge detection - both "real-world" skills which employers will value - camera...not so much - horrible "Risk/Reward!")

    One final point - you're really not, "researching" known methods!  Research has very tightly defined rules/regulations - you (like our firm) are "investigators."  Use of "research" under tax deductions will surely generate (unwelcome) communication/visit from local taxing authorities.  (and such use will "kill" your (future) Venture Capital relationship...)