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
6
votes
3 answers

Real time object tracking in java(some java API) or C#(emgucv,dshownet,Aforge.NET)

I am doing a project called user initiated real time object tracking system. Here, is what I want to happen in the project: 1) Take a continuous stream from a web camera. 2) Using the mouse a user can draw a square, around an object of interest. 3)…
Haxed
  • 2,887
  • 14
  • 47
  • 73
6
votes
4 answers

OpenCV/EmguCV face recognition

I am trying to make an app that detect faces and recognizes it. I made Face detection but I want some idea to when making recognition. I'm using a web cam for tracking and it can detect the face.Then I am taking only the part of the face to a new…
Ercan
  • 2,699
  • 10
  • 53
  • 60
6
votes
4 answers

Using EigenObjectRecognizer

I am trying to do some facial recognition using EmguCV. I was wondering if I can use EigenObjectRecognizer for this task? Can someone can explain me how to use it? Because if there is a no no-match photo, it also returns a value. Here is an…
Ercan
  • 2,699
  • 10
  • 53
  • 60
6
votes
1 answer

Improving circle detection

I am trying to detect circles in my images. I have written the following code in C# using EmguCV. Most of the times it works, but there are some cases that it detects smaller or larger circles that are slightly shifted to a side. Here is my code: …
NESHOM
  • 899
  • 16
  • 46
6
votes
1 answer

what is the function to find otsu threshold in emgu cv?

I don't need the thresholded image. I want the threshold. I found this in OpenCV. cv::threshold( orig_img, thres_img, 0, 255, CV_THRESH_BINARY+CV_THRESH_OTSU ); Is there an equivalent in EmguCv. Thanks in advance. PS. I need to use this threshold…
Siddarth
  • 103
  • 2
  • 6
6
votes
2 answers

C# / EmguCV - Convert an uploaded HttpPostedFileBase to a Emgu.CV.Mat

I have an MVC application where one of my controllers receives an uploaded file (image) as an HttpPostedFileBase object. I am trying to process the image using EmguCV, but I'm having difficulty converting my HttpPostedFileBase to the EmguCV matrix…
Brett
  • 11,637
  • 34
  • 127
  • 213
6
votes
1 answer

How to merge detected edges to a colour capture in Emgu CV

I am trying to make a C# desktop application (with Emgu CV wrapper) which captures the feed from the camera, detects edges in the feed and then displays the original feed (coloured) with the edges - so somewhat of a combined coloured feed and edges.…
brozo
  • 585
  • 2
  • 13
  • 29
6
votes
2 answers

Convert System.Drawing.Image to Emgu.CV.Image

Is there any way to convert an Image of type System.Drawing.Image in to Image of Emgu.CV.Image type or vice versa on EmguCV using C#? I will explain per your request if additional explanation is needed about the purpose of doing this.
Sisay
  • 681
  • 7
  • 16
  • 31
6
votes
4 answers

How to install and use Emgu CV in C#?

I'm trying to do an image processing project using Emgu CV, but I still dont know about the requirements. Can anybody tell me what the required dll files are? And where should I copy them in order to use that wrapper? Please describe from the start.…
john
  • 61
  • 1
  • 1
  • 2
6
votes
1 answer

How to achieve good sharpness with twain/emgu/open cv?

I am using an Epson Perfection V700 scanner and selecting the following options when scanning using their tool: ICM Color correction (source: EPSON-Standard and target: sRGB) Unsharp Mask (medium) That produces this image: Now my problem is this…
kmp
  • 10,535
  • 11
  • 75
  • 125
5
votes
5 answers

Emgu.cv's Tesseract object using incorrect path for OCR files

I wish to use EMGU.CV's Tesseract object to do OCR on some pictures. To start, I've downloaded, compiled and ran their OCR and LicensePlateRecognition examples. However, Tesseract kept throwing the following exception: Unable to create ocr model…
DanTheMan
  • 3,277
  • 2
  • 21
  • 40
5
votes
2 answers

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

I have written simple program to open image and show image in VS 2010 in C# using EmguCV but I am getting the following exception: The type initializer for 'Emgu.CV.CvInvoke' threw an exception. at line Image myimg = new Image
pitumalkani
  • 127
  • 1
  • 1
  • 7
5
votes
3 answers

Color Image Quantization in .NET

I want to reduce the number of unique colors of a bitmap in c#. The reason I want to do this is that an image which is initially created with three color but due to many factors (including compression) has now more than three colors (i.e neighbour…
Mo Valipour
  • 13,286
  • 12
  • 61
  • 87
5
votes
3 answers

Open Cv - Emgu Cv How to find 7 segment display's rectangle area on gray scaled Image

I am creating system for reading value from 7 segment display pressure meter. For detecting digits and values from digital( Seven Segment Display) meter, i gone through following…
Vishal Patel
  • 1,715
  • 16
  • 26
5
votes
1 answer

Accessing Pixels and Object Tracking : Emgu CV or Aforge.Net? which one is faster and easier?

I am new to Image Processing and Machine Vision. I am going to write a simple app which works with multipage TIFF files and does some object tracking on them. I implemented the whole story in Mathematica 8 and now I'm going to write a real…
MostafaMV
  • 2,181
  • 3
  • 16
  • 22