STDIO
Tìm kiếm gần đây
    • Nội dung
    • QR Code
    • 0
    • Bình luận
    • Sao chép

    EmguCV - OpenCV cho .NET - Giới Thiệu và Cách Tích Hợp vào .NET

    Giới thiệu về wrapper EmguCV của OpenCV và hướng dẫn cách tích hợp EmguCV vào dot NET.
    22/01/2015
    18/09/2020
    3 phút đọc
    EmguCV - OpenCV cho .NET - Giới Thiệu và Cách Tích Hợp vào .NET

    Giới thiệu

    Xử lý ảnh và thị giác máy là lĩnh vực mà ngày nay được phát triển và ứng dụng rất rộng rãi trong nhiều lĩnh vực khác nhau nhờ vào sự phát triển ngày càng mạnh mẽ của các hệ thống máy tính, các thuật toán và công trình nghiên cứu khác nhau của nhiều nhà khoa học trên thế giới.

    Bài viết này giới thiệu về EmguCV và hướng dẫn cách tích hợp EmguCV vào .NET.

    EmguCV là gì?

    • Là một cross platform .NET, một thư viện xử lý hình ảnh mạnh mẽ dành riêng cho các ngôn ngữ .NET, cho phép gọi được chức năng của OpenCV là từ .NET.
    • Tương thích ngôn ngữ như: C#, VB, VC ++, Iron Python... 
    • Wrapper có thể được biên dịch bởi Visual Studio, Xamarin Studio và Unity.
    • Có thể chạy trên Windows, Linux, Mac OS X, iOS, Android và Windows Phone.

    Lợi thế của EmguCV

    • EmguCV được viết hoàn toàn bằng C#, có thể chạy trên bất kỳ nền tảng hỗ trợ bao gồm iOS, Android, Windows Phone, hệ điều hành Mac OS và Linux.
    • EmguCV có thể được sử dụng với nhiều ngôn ngữ khác nhau như C#, VB.NET, C ++ và Iron Python.
    • Nhận dạng ảnh: nhận dạng khuôn mặt, các vật thể, ...
    • Xử lý ảnh: khử nhiễu, điều chỉnh độ sáng, ...
    • Nhận dạng cử chỉ.
    • Hỗ trợ tài liệu XML và intellisense.
    • Có thể sử dụng class Image hoặc gọi thẳng xuống các hàm của OpenCV.
    • ...

    Tích hợp vào .NET

    Bước 1: Cài đặt các Tools

    1. Visual Studio C#
    2. EmguCV: Download EmguCV phiên bản mới nhất tại địa chỉ https://sourceforge.net/projects/emgucv/files/emgucv/.
    ss_1

    Bước 2: Thiết lập trong project

    Thêm control của EmguCV vào Toolbox.

    ss_2

     Hộp thoại .NET Framwork Components > Browse...

    ss_3

    Chọn tới thư mục chứa EmguCV\emgucv-windows-universal_version\bin\Emgu.CV.UI.dll > Open.

    ss_4

    Trong Filter: Gõ emgucv > Chọn tất cả các control hiện ra > OK.

    ss_5

    Kết quả trong Toolbox sẽ có các control.

    ss_6

    Khởi tạo project

    ss_7

    Right mouse click > Solution Explorer > Add Reference Manager.

    ss_8

    Trong hộp thoại Reference Manger > Framework > Browse...

    ss_9

    Tìm đến thư mục chứa EmguCV > emgucv-windows-universal_version\bin > Chọn các file .dll 

    ss_10

    Tìm tới thư mục chứa EmguCV\emgucv-windows-universal_version\bin\x64 > Copy file .dll.

    ss_11

    Tìm tới thư mục chứa project\Tên_project \Tên_project\bin\Debug: Copy tất cả các file .dll ở trên vào đây.

    ss_12

    Công việc thiết lập EmguCV trong project đã xong, trong project có đoạn code sau:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    using Emgu.CV;
    using Emgu.CV.Structure;
    using Emgu.CV.UI;
    
    namespace EmguCVExample
    {
        public partial class Form1 : Form
        {
            private Image<Bgr, Byte> image;                 //1
           
            public Form1()
            {
                InitializeComponent();
                image = new Image<Bgr, Byte>("stdio.png");  //2
                CvInvoke.Imshow("Hello Stdio.vn", image);   //3
                CvInvoke.WaitKey(0);                          
                
            }
        }
    }
    

    Phân tích

    1. Khai báo biến chứa ảnh.
    2. Truy cập và lấy hình ảnh, mặc định hình ảnh chứa trong thư mục bin\Debug của project. Nếu muốn thay đổi đường dẫn, thay đổi tên đường dẫn. Ví dụ: E:\\emgucv\\image. 
    3. Hiển thị màn hình và vẽ hình ảnh.

    Build và run project EmguCV

    Nếu gặp lỗi trong quá trình build, có thể phiên bản đang sử dụng phù hợp với x64.

    ss-13

    Nhấn chuột phải > Solution Explorer > Properties > Trong hộp thoại hiện ra chọn Build* > Platform target > x64.

    ss_14

    Kết quả

    ss_15

    Bài chung series

    Computer Vision

    Computer Vision

    Thị giác máy tính.

    Phù hợp cho bạn

    Đề xuất

    EmguCV - OpenCV cho .NET - Một Số Thao Tác Xử Lý Ảnh Cơ Bản - I

    EmguCV - OpenCV cho .NET - Một Số Thao Tác Xử Lý Ảnh Cơ Bản - I

    Hướng dẫn các thao tác xử lý ảnh cơ bản với thư viện EmguCV bao gồm: ...

    Computer VisionOpenCV

    23/01/2015

    EmguCV - OpenCV cho .NET - Một Số Thao Tác Xử Lý Ảnh Cơ Bản - II

    EmguCV - OpenCV cho .NET - Một Số Thao Tác Xử Lý Ảnh Cơ Bản - II

    Hướng dẫn thao tác xử lý ảnh cơ bản với thư viện EmguCV như: Gradient, ...

    Computer VisionOpenCV

    23/01/2015

    Khám phá thêm

    OpenCV – Cài Đặt và Ví Dụ Minh Họa Sử Dụng

    OpenCV – Cài Đặt và Ví Dụ Minh Họa Sử Dụng

    Giới thiệu tổng quan OpenCV, hướng dẫn cài đặt và viết chương trình minh ...

    Computer VisionOpenCV

    29/09/2014

    Phép Tích Chập Trong Xử Lý Ảnh (Convolution)

    Phép Tích Chập Trong Xử Lý Ảnh (Convolution)

    Convolution là kỹ thuật quan trọng trong Xử Lý Ảnh, được sử dụng chính ...

    Computer VisionNền tảng

    20/04/2016

    Giới Thiệu về Mô Hình SVM

    Giới Thiệu về Mô Hình SVM

    Giới thiệu tổng quan mô hình SVM và sử dụng SVM trong OpenCV.

    Computer VisionOpenCV

    23/01/2015

    Xử Lý Ảnh Với OpenCV: Lọc Số Trong Ảnh

    Xử Lý Ảnh Với OpenCV: Lọc Số Trong Ảnh

    Giới thiệu lọc số ảnh, khái niệm và công thức nhân chập ma trận, một số ...

    Computer VisionOpenCV

    23/01/2015

    LINQ to SQL - Giới Thiệu

    LINQ to SQL - Giới Thiệu

    Giới thiệu LINQ to SQL, ý nghĩa và cú pháp cơ bản sử dụng LINQ to SQL ...

    Huỳnh Duy Lộc

    20/12/2017

    Box2D - Phần 1: Giới Thiệu Và Một Số Thuật Ngữ Và Khái Niệm

    Box2D - Phần 1: Giới Thiệu Và Một Số Thuật Ngữ Và Khái Niệm

    Giới thiệu engine xử lý vật lý Box2D, các khái niệm, cách thành phần ...

    Lập Trình GameCocos2d-x

    23/01/2015

    Giới Thiệu Ứng Dụng Của Làm Mờ Ảnh (Lọc Nhiễu) Trong Bài Toán Nhận Dạng

    Giới Thiệu Ứng Dụng Của Làm Mờ Ảnh (Lọc Nhiễu) Trong Bài Toán Nhận Dạng

    Việc chọn phương pháp lọc nhiễu phù hợp sẽ giữ được các đặc trưng quan ...

    Kim Uyên

    26/04/2016

    CBP-3: Khai Báo Component Cơ Bản, Tích Hợp Component vào Entity

    CBP-3: Khai Báo Component Cơ Bản, Tích Hợp Component vào Entity

    Khai báo component CAnimation để thêm hình ảnh hiển thị cho Entity, đây ...

    Lập Trình GameNâng cao

    20/08/2015

    STDIO
    Trang chính
    Công ty TNHH STDIO

    30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
    +84 28.36205514 - +84 942.111912
    developer@stdio.vn

    383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
    Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012

    ©STDIO, 2013 - 2020