<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://elinux.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://elinux.org/index.php?title=ECE597_Opencv_on_the_BeagleBoard&amp;feed=atom&amp;action=history</id>
		<title>ECE597 Opencv on the BeagleBoard - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://elinux.org/index.php?title=ECE597_Opencv_on_the_BeagleBoard&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=ECE597_Opencv_on_the_BeagleBoard&amp;action=history"/>
		<updated>2013-05-19T09:56:19Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.21alpha</generator>

	<entry>
		<id>http://elinux.org/index.php?title=ECE597_Opencv_on_the_BeagleBoard&amp;diff=71467&amp;oldid=prev</id>
		<title>Peter Huewe at 20:45, 27 October 2011</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=ECE597_Opencv_on_the_BeagleBoard&amp;diff=71467&amp;oldid=prev"/>
				<updated>2011-10-27T20:45:42Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 20:45, 27 October 2011&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 75:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 75:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;However, it appears they have no effect on general operation.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;However, it appears they have no effect on general operation.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:ECE597]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Education]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:BeagleBoard]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Peter Huewe</name></author>	</entry>

	<entry>
		<id>http://elinux.org/index.php?title=ECE597_Opencv_on_the_BeagleBoard&amp;diff=20940&amp;oldid=prev</id>
		<title>Simonea: Covered work done getting opencv functioning on BeagleBoard</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=ECE597_Opencv_on_the_BeagleBoard&amp;diff=20940&amp;oldid=prev"/>
				<updated>2010-05-12T17:09:56Z</updated>
		
		<summary type="html">&lt;p&gt;Covered work done getting opencv functioning on BeagleBoard&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
There are currently a dozen examples as well as instructions on using opencv, including incomplete references on this wiki: [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]] and 'Running OpenCV on the BB' on [http://groups.google.com/group/beagleboard Google Groups].  As an 'unstable' package for the BeagleBoard however, the OpenCV packages are currently beyond the last update.  For the sake of simplicity, this page will detail natively compiling opencv applications on the BeagleBoard.&lt;br /&gt;
&lt;br /&gt;
==Installing OpenCV==&lt;br /&gt;
After running 'opkg update', you should have access to the most current opencv packages:&lt;br /&gt;
*opencv - 2.1.0&lt;br /&gt;
*opencv-apps - 2.1.0&lt;br /&gt;
*opencv-dbg - 2.1.0&lt;br /&gt;
*opencv-dev - 2.1.0&lt;br /&gt;
*opencv-doc - 2.1.0&lt;br /&gt;
*opencv-samples - 2.1.0&lt;br /&gt;
*opencv-samples-dbg - 2.1.0&lt;br /&gt;
*opencv-samples-dev - 2.1.0&lt;br /&gt;
*python-opencv&lt;br /&gt;
For the purposes of cross-compiling on the BeagleBoard, you will need the opencv header in opencv-dev and the libraries from opencv-apps.  The 'opencv' package is currently a dummy that the others all list as a dependency.&lt;br /&gt;
&lt;br /&gt;
At the time of this writing, the libraries are not properly installed from opencv-apps.  It is possible to check for correct install by looking for the file 'libhighgui.so' in /usr/lib.  Installing opencv-apps adds libhighgui.so.2.1 and libhighgui.so.2.1.0, however libhighgui.so is required for the linker to find it.  A quick workaround for now is to create a symbolic link between libhighgui.so and libhighgui.so.2.1 &amp;lt;pre&amp;gt; ln -s /usr/lib/libhighgui.so.2.1 /usr/lib/libhighgui.so&amp;lt;/pre&amp;gt;&lt;br /&gt;
There are several other libraries installed that will need similar treatment as they are used.&lt;br /&gt;
&lt;br /&gt;
==Other Required Packages==&lt;br /&gt;
We'll be using gcc to compile c programs, so make sure you have 'gcc' and 'gcc-symlinks' installed as well.&lt;br /&gt;
&lt;br /&gt;
==Using a Webcam with the BeagleBoard==&lt;br /&gt;
So far, this has been tested with a Logitech Webcam Pro 9000, but should with with any [http://www.ideasonboard.org/uvc/ UVC Webcam].  You'll want to make sure you install the libv4l-dev package first.  When you plug in the webcam, 'dmesg|tail' should show that a UVC Camera was plugged in.  If not, check that your kernel module 'kernel-module-uvcvideo' isn't somehow corrupted which has happened in the past, running 'opkg update kernel-module-uvcvideo' should correct it if it is.  If the webcam is recognized, then the following demo program will display a video window:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;cv.h&amp;gt;&lt;br /&gt;
#include &amp;lt;highgui.h&amp;gt;&lt;br /&gt;
#include &amp;lt;cxcore.h&amp;gt;&lt;br /&gt;
#include &amp;quot;stdio.h&amp;quot;&lt;br /&gt;
#include &amp;quot;string.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char ** argv)&lt;br /&gt;
{&lt;br /&gt;
    char Vid[] = &amp;quot;WebCam&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    IplImage * frm;&lt;br /&gt;
    CvCapture * capture;&lt;br /&gt;
&lt;br /&gt;
    capture = cvCaptureFromCAM(-1); // the parameter for a cam&lt;br /&gt;
&lt;br /&gt;
    if( capture ) {&lt;br /&gt;
        cvNamedWindow (Vid,1);&lt;br /&gt;
&lt;br /&gt;
        do {&lt;br /&gt;
            frm = cvQueryFrame( capture );&lt;br /&gt;
&lt;br /&gt;
            if( frm )&lt;br /&gt;
                cvShowImage (Vid, frm);&lt;br /&gt;
&lt;br /&gt;
            int k = cvWaitKey( 50 );&lt;br /&gt;
            if (k == 27 || k == '\r') // Press ESC and Enter &lt;br /&gt;
                break;                     // for out&lt;br /&gt;
&lt;br /&gt;
        } while( frm );&lt;br /&gt;
&lt;br /&gt;
        cvDestroyWindow( Vid ); // Destroy the window&lt;br /&gt;
        cvReleaseCapture( &amp;amp;capture );&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
        puts( &amp;quot;Cannot Open the Webcam&amp;quot; );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To compile, make sure to include the opencv headers (-I/usr/include/opencv) and link to the highgui library (-lhighgui).&lt;br /&gt;
&lt;br /&gt;
==Compile Warnings==&lt;br /&gt;
The following messages are generated when compiling:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
In file included from /usr/include/opencv/cxcore.h:70,&lt;br /&gt;
                 from /usr/include/opencv/cv.h:58,&lt;br /&gt;
                 from onecam.c:1&lt;br /&gt;
/usr/include/opencv/cxtypes.h: In function 'cvRound':&lt;br /&gt;
/usr/include/opencv/cxtypes.h:228: warning: incompatible implicit declaration of built-in function 'lrint'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
However, it appears they have no effect on general operation.&lt;/div&gt;</summary>
		<author><name>Simonea</name></author>	</entry>

	</feed>