Hello World for Ubuntu

From Emgu CV: OpenCV in .NET (C#, VB, C++ and more)
Jump to navigation Jump to search

This example is based on Emgu CV 4.5.1, Ubuntu 20.04 and dotnet 5.0

Installing the dependencies

The pre-compiled Emgu CV binary requires a few package to be installed on the Ubuntu instance. You will need to run this script to install the dependencies.


Creating the first Emgu CV console program with .Net Core

From the command console, first create a console project in .Net Core

 dotnet new console 

Add the Emgu CV nuget packages

 dotnet add package Emgu.CV.runtime.ubuntu.20.04-x64 

Fire up your favorite editor and replace Program.cs file with the following

using System;
using Emgu.CV;

namespace ConsoleTest
    class Program
        static void Main(string[] args)

Run the project

 dotnet run 

The program should now display the Open CV's BuildInformation for the native runtime.

If you saw error message such as

Unhandled exception. System.TypeInitializationException: The type initializer for 'Emgu.CV.CvInvoke' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'cvextern' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libcvextern: cannot open shared object file: No such file or directory

It is likely there is a missing dependency for "libcvextern.so" file. In this case, following this instuction to trouble shot.