06-10-2009 02:43 PM
I try to use the openCV library in labview using a DLL wrapper.
I need openCV library beacause i try to implement an optical flow algorithm.
If I use the library with labview, can i "download" the .vi to the smart-camera???
06-10-2009 03:11 PM
The NI 17xx Smart Cameras run LabVIEW RT on top of VxWorks on a PowerPC processor. It is possible to interact with compiled libraries through LabVIEW but you'd have to cross-compile the library using GCC for VxWorks and Power-PC. If you search around you'll see there are guides to setting up a compatible toolchain for targets such as the CompactRIO that will work for the Smart Camera as well....
However, this all rests on OpenCV being able to compile for PowerPC processors. From some quick research, the codebase seems to have a lot of x86 assembly and is not likely an easy port to PPC/VxWorks.
That said, you could always use the NI Vision Development Module for your algorithm. Are there any shortcomings in what is offered that you have chosen OpenCV instead?
Eric
06-10-2009 03:22 PM
Ni Vision doesnt have any ready optical flow algorithm.
Instead, openCV has a ready optical flow algorithm and also it has mush more documentation
06-10-2009
03:32 PM
- last edited on
03-19-2025
09:02 PM
by
Content Cleaner
If form factor is not an issue, you could use the CVS or the new Embedded Vision System with a seperate camera and try to use OpenCV with that instead. Both of these platforms are x86-based and you'd likely have a lot less trouble interfacing with the OpenCV DLL.
Eric
06-10-2009 03:44 PM - edited 06-10-2009 03:45 PM
06-13-2009 09:13 AM
06-15-2009
09:51 AM
- last edited on
03-19-2025
09:03 PM
by
Content Cleaner
Correct. Visual C++ can only output x86 binaries. The Smart Camera and newer cRIO devices use a PPC processor. There are several instructional articles around (such as this one: https://knowledge.ni.com/KnowledgeArticleDetails?id=kA03q000000x4puCAA&l=en-US) that explain how to compile the VxWorks equivalent of DLLs using the GCC toolchain. After building the binary you can link to it within your VI just like a DLL on other platforms.
Hope this helps,
Eric