Hello World for Ubuntu

From EMGU
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.

https://github.com/emgucv/emgucv/blob/4.5.1/platforms/ubuntu/20.04/apt_install_dependency.sh

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)
        {
            Console.WriteLine(CvInvoke.BuildInformation);
        }
    }
}

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.