Questions tagged [emgucv]

EmguCV is a cross-platform .NET wrapper to the OpenCV image processing library. Allowing OpenCV functions to be called from .NET compatible languages such as C#, VB, C++-CLI, IronPython etc. The wrapper can be compiled in Mono and run on Linux or Mac OS X.

About EmguCV

EmguCV opens the OpenCV (Open Source Computer Vision Library) library of programming functions mainly aimed at real time computer vision to .NET developers. OpenCV was originally developed by Intel and now supported by Willow Garage.

Current versions for x86 , x64 and ARM(only for iOS and Android) architectures are available for download at their SourceForge website, https://sourceforge.net/projects/emgucv/.

A download and installation guide is available here. This is particularly useful for newcomers as ensuring the correct references are used and that the associated OpenCV .dll files are copied to the output directory can be difficult.

EmguCV uses a dual-license business model for its software development library and offers licenses for two distinct purposes: open source, and commercial development. More information can be found here.

Cross Platform

Unlike other wrappers such as OpenCVDotNet, SharperCV or Code Project which use unsafe code, EmguCV is written entirely in C#. The benefit is that it can be compiled in Mono and therefore is able to run on any platform Mono supports, including Linux, Solaris and Mac OS X. A lot of efforts have been spent creating a pure C# implementation since the headers have to be ported, compared with managed C++ implementation where header files can simply be included. But it is well worth it if you see EmguCV running on Fedora 10! Plus it always gives you the comfort knowing that your code is cross-platform.

EmguCV can be used from several different languages, including C#, VB.NET, C++-CLI and IronPython. On this wiki, we provide examples for all those languages, which are available from the Examples section on Tutorial page. Our discussion forum is also available if you have any questions related to your favorite programming language.

Other Advantages

  • Image class with Generic Color and Depth
  • Automatic garbage collection
  • XML Serializable Image
  • XML Documentation and intellisense support
  • The choice to either use the Image class or direct invoke functions from OpenCV
  • Generic operations on image pixels

Architecture Overview

EmguCV has two layers of wrapper as shown below

  • The basic layer (layer 1) contains function, structure and enumeration mappings which directly reflect those in OpenCV.
  • The second layer (layer 2) contains classes that mix in advantages from the .NET world.

EmguCVArchitecture.png

2204 questions
55
votes
2 answers

How to create Haar Cascade (.xml file) to use in OpenCV?

If you are familiar with OpenCV library, you know what Haar Cascade image object detection is. By image object detection I mean, like human face detection or something else. I have some Haar Cascade XMLs for face detection, but I don't know how to…
some_engineer
  • 1,844
  • 1
  • 19
  • 26
32
votes
11 answers

unable to load cvextern in a c# project

i'm trying to debug my program, using emgu and HaarCascade in c#. i'm getting an exception like so : Unable to load DLL 'cvextern': The specified module could not be found. (Exception from HRESULT: 0x8007007E) i've added the file cvextern.dll to…
dusm
  • 1,207
  • 4
  • 18
  • 24
31
votes
4 answers

How do I choose an image interpolation method? (Emgu/OpenCV)

The image resizing function provided by Emgu (a .net wrapper for OpenCV) can use any one of four interpolation methods: CV_INTER_NN (default) CV_INTER_LINEAR CV_INTER_CUBIC CV_INTER_AREA I roughly understand linear interpolation, but can only…
Tom Wright
  • 11,278
  • 15
  • 74
  • 148
28
votes
3 answers

Detecting truck wheels

I am currently working on a project which we have a set of photos of trucks going by a camera. I need to detect what type of truck it is (how many wheels it has). So I am using EMGU to try to detect this. Problem I have is I cannot seem to be able…
Dr.Denis McCracleJizz
  • 850
  • 2
  • 11
  • 26
24
votes
2 answers

What is the difference between OpenCV.NET, OpenCVSharp and EmguCV?

What is the difference between OpenCV.NET, OpenCVSharp and EmguCV? They are derived from OpenCV. So, what is the difference in their design, implementation and application philosophies?
user366312
  • 16,949
  • 65
  • 235
  • 452
23
votes
2 answers

Access Violation Exception mystery

I've been working with EMGU+OpenCV for quite some time and ran into this AccessViolationException mystery. First thing first, the code: class AVE_Simulation { public static int Width = 7500; public static int Height = 7500; …
Gilad
  • 2,876
  • 5
  • 29
  • 40
22
votes
3 answers

Need Haar Casscades for Nose, Eyes & Lips(Mouth)

I need Haar Cascades xml files for Mouth, Eyes & Nose. Do provide me useful links. Any kind of help would be highly appreciated.
Nishant Shah
  • 1,590
  • 1
  • 15
  • 25
22
votes
2 answers

Calling the on-screen keyboard using a button in C#

I am creating a windows application using C#, where in a button on the GUI when clicked, should display the on-screen keyboard. Would appreciate if any help is granted. thanks. Also, since I am mostly using Emgu Cv library for the rest of my app,…
ykombinator
  • 2,724
  • 7
  • 25
  • 46
19
votes
13 answers

The type initializer for 'Emgu.CV.CvInvoke' threw an exception

I'm getting this error The type initializer for 'Emgu.CV.CvInvoke' threw an exception. when I try to use Emgu CV. I've tried everything I can think of to fix this but it's still giving the same error, and when I click a button it shows Object…
Dilshan Zuhdi
  • 199
  • 1
  • 1
  • 5
18
votes
5 answers

Face gender detection library

I'm looking for an SDK or library that can detect faces in a webcam stream, and detect gender. Free or paid, C++ or C# under Windows. Any suggestions?
17
votes
5 answers

How do I equalize contrast & brightness of images using opencv?

I've got an image that I've scanned, but the white paper is not white on the screen. Is there a way to equalize the contract/brightness to make the background whiter? Update I've tried the suggested Image._EqualizeHist function from EmguCv: string…
tofi9
  • 5,775
  • 4
  • 29
  • 50
16
votes
5 answers

How can I get and set pixel values of an EmguCV Mat image?

I'm using the EmguCV 3.0.0 wrapper to the OpenCV 3.0 library. I'm using the Mat class in a few places. Here's an example of a single channel, 8x8 image made of double values: Mat image = new Mat(8, 8, DepthType.Cv64F, 1); The Image<> class…
kdbanman
  • 10,161
  • 10
  • 46
  • 78
16
votes
1 answer

OpenCV (EMGUCV wrapper) integration in Unity

As you know OpenCV is very useful library that let you do amazing and powerful things in Computer vision. So I passed a good time to figure out how to use it in Unity3d, I had many problems, and searching in the Net, I have found several suggestions…
Mohammed BOUGAA
  • 161
  • 1
  • 1
  • 3
16
votes
8 answers

EmguCV - nvcuda.dll could not be found

I've been asked to build a real-time face recognition application, and after some looking around I've decided to try EmguCV and OpenCV as the facial recognition library. The issue I'm having at the moment is trying to get the SDK installed and…
Ryan French
  • 1,245
  • 3
  • 19
  • 34
16
votes
4 answers

parallel image processing artifacts

I capture images from a webcam, do some heavy processing on them, and then show the result. To keep the framerate high, i want to have the processing of different frames run in parallel. So, I have a 'Producer', which captures the images and adds…
m00se
  • 161
  • 4
1
2 3
99 100