Bookmark and Share

Start Developing OpenCV Applications Immediately Using the BDTI Quick-Start OpenCV Kit (Article)

Register or sign in to access the Embedded Vision Academy's free technical training content.

The training materials provided by the Embedded Vision Academy are offered free of charge to everyone. All we ask in return is that you register, and tell us a little about yourself so that we can understand a bit about our audience. As detailed in our Privacy Policy, we will not share your registration information, nor contact you, except with your consent.

Registration is free and takes less than one minute. Click here to register, and get full access to the Embedded Vision Academy's unique technical training content.

If you've already registered, click here to sign in.

See a sample of this page's content below:

OpenCV is an open-source software component library for computer vision application development.  OpenCV is a powerful tool for prototyping embedded vision algorithms.  Originally released in 2000, it has been downloaded over 3.5 million times.  The OpenCV library supports over 2,500 functions and contains dozens of valuable vision application examples.  The library supports C, C++, and Python and has been ported to Windows, Linux, Android, MAC OS X and iOS.

The most difficult part of using OpenCV is building the library and configuring the tools.  The OpenCV development team has made great strides in simplifying the OpenCV build process, but it can still be time consuming.  To make it as easy as possible to start using OpenCV, BDTI has created the Quick-Start OpenCV Kit, a VMware image that includes OpenCV and all required tools preinstalled, configured, and built.  This makes it easy to quickly get OpenCV running and to start developing vision algorithms using OpenCV. The BDTI Quick-Start OpenCV Kit can be run on any Windows computer by using the free VMware player, or on Mac OS X using VMware Fusion. This article describes the process of installing and using the BDTI Quick-Start OpenCV Kit.  For more information about OpenCV and other OpenCV tools from BDTI, go here.

Please note that the BDTI Quick-Start OpenCV Kit contains numerous open source software packages, each with its own license terms.  Please refer to the licenses associated with each package to understand what uses are permitted.  If you have questions about any of these licenses, please contact the authors of the package in question.  If you believe that the BDTI OpenCV VMware image contains elements that should not be distributed in this way, please contact us

Figure 1. Ubuntu desktop installed in the BDTI VMware image

The BDTI...

Last seen: 16 weeks 6 days ago
Level 1: Prestidigitator
Joined: 2014-09-29
Points: 1

this is not root password

Eric Gregori
Eric Gregori's picture
Last seen: 14 weeks 6 days ago
Level 6: Enchanter
Joined: 2011-08-16
Points: 202



The additional code is required to display the Sobel X,Y, angle, and magnitude outputs.

The OpenCV Canny function does not expose this data.

For Figure 14 (and the demo) I want to show the user what this intermediate data looks like.


The following lines are NOT required for Canny operation:


 Sobel( blurred, grad_x, CV_32F, 1, 0, Ksize, 1, 0, BORDER_DEFAULT );   

 Sobel( blurred, grad_y, CV_32F, 0, 1, Ksize, 1, 0, BORDER_DEFAULT );   

cartToPolar( grad_x, grad_y, magnitude, angle, true ); 

threshold( magnitude, magnitude, LowThres, 0, THRESH_TOZERO );

threshold( grad_x, grad_x, LowThres, 0, THRESH_TOZERO );

threshold( grad_y, grad_y, LowThres, 0, THRESH_TOZERO );

Mat mask, MaskedAngle;

Mat bmask = Mat::zeros(magnitude.rows, magnitude.cols, CV_8U );

threshold( magnitude, mask, LowThres, 1, THRESH_BINARY );

mask.convertTo( bmask, CV_8U );

angle.copyTo( MaskedAngle, bmask );

OpenCV performs all of the above operations within the Canny() call.
Last seen: 4 days 21 hours ago
Level 1: Prestidigitator
Joined: 2011-10-04
Points: 4


Thank you for this great Quick-Start OpenCV Kit!

Being more used to the Windows OS myself, this definitely got me up and running very rapidly!

In the CannyEdgeDetection example code, you have calls to the Gaussian/Sobel/cartToPolar OpenCV functions, in addition to the Canny function call.

I assume that the Canny function is also doing these operations.

Can you confirm that this is the case, and that you have called these functions redundantly for illustrative purposes?


Mario Bergeron

Eric Gregori
Eric Gregori's picture
Last seen: 14 weeks 6 days ago
Level 6: Enchanter
Joined: 2011-08-16
Points: 202

The root password = ubuntu