Emgu CV
Thư viện xử lý ảnh mã nguồn mở .NET
C # API cho phép các nhà phát triển phần mềm chụp ảnh từ máy ảnh hoặc tệp video, hỗ trợ chuyển đổi hình học và hơn thế nữa.
Emgu CV là một trình bao bọc .NET đa nền tảng mã nguồn mở cho thư viện xử lý hình ảnh OpenCV cung cấp cho các nhà phát triển phần mềm khả năng thực hiện thao tác và tạo hình ảnh đơn giản và nâng cao bên trong ứng dụng .NET của riêng họ. Nó có thể chạy trơn tru trên Windows, Linux, Mac OS, iOS và Android một cách dễ dàng.
Emgu CV là một triển khai C # thuần túy có thể được sử dụng trong một số ngôn ngữ khác nhau, bao gồm C #, VB.NET, C ++ và IronPython. Thư viện đã bao gồm một số tính năng quan trọng liên quan đến xử lý hình ảnh như tạo hình ảnh mới, sửa đổi hình ảnh, chụp hình ảnh từ máy ảnh hoặc tệp video, ghi hình ảnh sang định dạng video, Phân đoạn nền, hỗ trợ chuyển đổi hình học, Hỗ trợ nhận dạng ký tự quang học, Ghép hình ảnh , và nhiều cái khác.
Bắt đầu với CV Emgu
Để chạy dự án của bạn bằng Emgu CV, trước hết, bạn cần cài đặt .NET runtime. Sau đó, bạn có thể tải xuống kho lưu trữ theo cách thủ công từ GitHub . Sử dụng lệnh sau để cài đặt nó.
Cài đặt CV Emgu qua GitHub
git clone https://github.com/emgucv/emgucv.git
Tạo và quản lý hình ảnh qua .NET
Thư viện CV Emgu miễn phí cho phép các nhà lập trình phần mềm tạo các ứng dụng có thể tạo và xử lý hình ảnh một cách dễ dàng. Bạn có thể tạo một hình ảnh một cách dễ dàng nhưng bạn nên tạo một đối tượng hình ảnh. Sử dụng lớp được quản lý, bạn có thể có một số lợi thế như quản lý bộ nhớ tự động, thu gom rác tự động và chứa các phương pháp nâng cao như hoạt động chung trên pixel hình ảnh, chuyển đổi sang Bitmap, v.v. Bạn có thể dễ dàng điều chỉnh kích thước, áp dụng màu sắc, chỉ định độ sâu hình ảnh và hơn thế nữa
Tạo hình ảnh qua. ET
//Create an image of 400x200 of Blue color
using (Image img = new Image(400, 200, new Bgr(255, 0, 0)))
{
//Create the font
MCvFont f = new MCvFont(CvEnum.FONT.CV_FONT_HERSHEY_COMPLEX, 1.0, 1.0);
//Draw "Hello, world." on the image using the specific font
img.Draw("Hello, world", ref f, new Point(10, 80), new Bgr(0, 255, 0));
//Show the image using ImageViewer from Emgu.CV.UI
ImageViewer.Show(img, "Test Window");
}
Phát hiện Biển báo Giao thông qua .NET API
API Emgu CV nguồn mở đã bao gồm hỗ trợ phát hiện lưu lượng truy cập dễ dàng bằng cách sử dụng các lệnh .NET. Thư viện giúp các nhà phát triển phát hiện các biển báo dừng từ hình ảnh được camera ghi lại, một phần quan trọng của hệ thống định vị xe tự hành. Nó rất hữu ích và có thể giúp ô tô tự điều hướng an toàn trong môi trường đô thị. Trong bước đầu tiên, các nhà phát triển cần trích xuất các hình bát giác màu đỏ của tín hiệu giao thông và họ có thể sử dụng SURF để so khớp các tính năng trên khu vực ứng cử viên cho phù hợp với nó.
Thực hiện ghép ảnh qua CSharp
Thư viện CV Emgu giúp các nhà phát triển thực hiện ghép hình ảnh bên trong ứng dụng của riêng họ bằng cách sử dụng mã C #. Đây là một quy trình rất hữu ích để kết hợp nhiều hình ảnh chụp để tạo ra một bức tranh toàn cảnh được phân đoạn hoặc hình ảnh có độ phân giải cao. Thư viện chỉ yêu cầu một vài dòng mã để thực hiện nó nhưng điều quan trọng cần nhớ là để có kết quả chính xác thì cần phải có sự chồng chéo gần như chính xác giữa các hình ảnh và độ phơi sáng giống hệt nhau.
Chuyển hình ảnh bằng .NET
using (Stitcher stitcher = new Stitcher(
//This indicate if the Stitcher should use GPU for processing.
//There is currently a bug in Open CV such that GPU processing cannot produce the correct result.
//Must specify false as parameter. Hope this will be fixed soon to enable GPU processing
false
))
{
Image result = stitcher.Stitch(sourceImages);
// code to display or save the result
}