SharperCV Project



    Computer Science Department 2003

[Introduction  -  Licence  -  Disclaimer  -  Acknowledgements  -  Software Release  -  Bug Tracker  -  Resources  -  People]

News 27 April 2011...


This code is really stale now - no work since 2003. So unless you want to poke around in the code and see how we wrapped it back in the old days of DotNetFramework V1.1, this is probably not for you.

The Emgu CV.Net wrapper is our current recommendation if you want to use OpenCV.

Read Me First and Downloads...


Unfortunately, we're no longer supporting or using SharperCV.

The project was essentially an exercise in investigating interoperability between the managed .NET environment and a substantial "legacy" body of code like OpenCV. Superficially, one can do quite a slick job of making them look compatible. But deep inside, it remains messy. The models for exception handling are completely incompatible, so one can never catch the OpenCV errors like we'd like to. OpenCV requires regular polling in order to service its window and mouse events: this is a mess. The object-oriented approach and organization we'd like to use in C# is not present at all in the "flattened" code model of OpenCV, so there is a mismatch. And there are substantial problems with doing the really interesting things, like handling AVI streams and Windows DirectShow features.

So our own advice and approach has been to abandon SharperCV, and to migrate the little functionality we needed for our own work directly into C#. The single-layer, single-language, single-documentation and single paradigm model has worked out easier for us in the long run.

Thanks to everyone who provided encouragement and feedback about SharperCV. It was fun.

If anyone becomes aware of a high-performance, high-functionality imaging library that is directly usable in .NET, please let us know. OpenCV has many things we like - but then so does C#!

Update, April 2006 There are still some folk using SharperCV. We would like to release it as a SourceForge project with a champion and some contributors, but to date we've not found anybody to take on the leadership role. Consequently, we've started releasing unofficial and completely unsupported source code. There are some restrictions to its use:

  • Do not redistribute this version.
  • For you personal, non-commercial or academic use only,
  • All content and work done for SharperCV is governed by the Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License. This is more flexible than traditional copyright, with some rights reserved.  You retain some rights to your intellectual property and creative works.
  • No support!
  • Email me (p.wentworth@ru.ac.za) if you take a copy, in case we do get a more structured project running on SouurceForge.

If you agree to these conditions, you may collect the sources from http://www.cs.ru.ac.za/research/groups/sharpercv/dl.html    (If you just want the pre-built library, the downloads are at the bottom of this page.)

If you'd like to champion and coordinate a SourceForge release of the work, please contact us.

 

Project Introduction


The Intel Open Computer Vision Toolbox (OpenCV) implements a number of highly sophisticated image processing and computer vision algorithms: primitive analysis algorithms such as edge and contour detection, eigenimage manipulation, 3-D object reconstruction from stereoscopic camera views, and state-of-the-art object tracking algorithms that detect motion and track objects over a series of frames. OpenCV also provides additional (rudimentary, but adequate) modules for its own widows, trackbars, camera drivers, keyboard events, etc. It is multi-platform, written in C and C++, with implementations available under Windows, Linux, etc.

We have wrapped some of the functionality in OpenCV, to provide a useful subset of the features for easier use in C# and other languages that run on Microsoft's .NET platform. The wrapper also brings the OpenCV functionality to the Shared Source SSCLI - Rotor platform.

At this time, only Windows platforms are supported.

What we hope to achieve with this work is to make it easier for novices to use the great image processing functionality in OpenCV, in a modern language and development environment, with the additional benefits of garbage collection.

Our extra documentation is very rudimentary and is layered on top of the original OpenCV documents which is the "reference". More effort has gone into creating XML documentation files that can be interpreted by your Integrated Development Environment. We rely heavily on "intellisense"!


Licence


SharperCV Version 1 may be freely used for non-commercial, academic, and personal use. It may not be redistributed or used as part of any commercial product.

Our installer also redistributes Intel's OpenCV binary DLLs, which are separately subject to this licence from Intel.

Disclaimer


This software is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the Intel Corporation or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.

Nothing in the SharperCV documentation or software should be construed as an endorsement by the Intel Corporation, or by any other third party.

Acknowledgements


This work was supported primarily by a grant from Microsoft Research under their SSCLI program, and was performed under the auspices of the Centre of Excellence (CoE) in Distributed Multimedia at Rhodes University. The CoE is supported by Telkom (Pty) Ltd, Letlapa Mobile Solutions, Comparex (Pty) Ltd, and the THRIP program of the South African Department of Trade and Industry.

Software Release

Installation Package: (msi)


Resources

Intel OpenCV Web Site: http://www.intel.com/research/mrl/research/opencv/



People


Project Leader:

Prof. Peter Wentworth

Email: 

P.Wentworth@ru.ac.za

Web Site:

http://www.cs.ru.ac.za/
   
Participants: Mr. Xiaogeng Zhao

Email:      

p.wentworth@ru.ac.za

Web Site:

http://www.cs.ru.ac.za/research/g00z1423


                


Computer Science Dept,  Rhodes University.  (c) 2003