|
Re: OpenCV and New Control System
Trying to port OpenCV to VxWorks/cRIO will lead to massive headaches on the trying to read and reprogram x86 assembly level (try just looking at the source code). OpenCV was designed for x86-based systems and is highly optimized for those architectures. (There was an effort to port it to ARM systems a couple years ago but it was only ever a partial job. I don't know of any other ports that exist.) When you got done, you might have something that works but it would be a mess and would probably not give you the kind of performance you would want, unless you beat out all my assumptions and are proficient in high performance coding for both x86 and cRIO. I don't mean to discourage you if you really want to try it, but you're probably ahead to use the image processing framework included with LabVIEW. Trust me... LabVIEW really isn't just the "easy way out" for programming.
If you want to use OpenCV on a robot (it can be really powerful), consider using a co-processor. I experimented with this configuration during the 2008 competition and got a quite robust system for recognizing trackballs. I've been meaning to post a whitepaper on it for a while. I'll try to get it posted in the next week or so. Included will be info on my hardware set-up if you're curious.
--Ryan
P.S.: AustinSchuh: You are correct that there are multiple sections in OpenCV: CV, CXCORE, HighGUI, and CVCam are the official ones that I know of. CV contains high-level image processing and filtering functions (Hough Transforms, Edge Detection, etc). CXCORE contains basic image/array/matrix manipulation functions (like add, dot product, scale, etc). HighGUI does what it sounds like and provides an easy to use way to display images and graphs and such but also contains a rudimentary camera interface. CVCam is a more full-featured camera interface module, but may be overkill for most projects. All, however, are written to be optimized for x86 and would be a pain to cross-compile properly.
__________________
FRC 2046, 2007-2008, Student member
FRC 1708, 2009-2012, College mentor; 2013-2014, Mentor
FRC 766, 2015-, Mentor
Last edited by RyanCahoon : 08-10-2008 at 03:21.
|