Emgu CV
کتابخانه پردازش تصویر .NET منبع باز
C# API به توسعه دهندگان نرم افزار امکان می دهد تصاویر را از دوربین یا فایل ویدیویی، پشتیبانی از تبدیل هندسی و موارد دیگر ضبط کنند.
Emgu CV یک بستهبندی متنباز کراس پلتفرم داتنت برای کتابخانه پردازش تصویر OpenCV است که به توسعهدهندگان نرمافزار این قابلیت را میدهد که ایجاد و دستکاری تصویر ساده و پیشرفته را در برنامههای NET خود انجام دهند. می توان آن را به راحتی روی ویندوز، لینوکس، سیستم عامل مک، iOS و اندروید اجرا کرد.
Emgu CV یک پیاده سازی C# خالص است که می تواند در چندین زبان مختلف از جمله C#، VB.NET، C++ و IronPython استفاده شود. این کتابخانه دارای چندین ویژگی مهم مربوط به پردازش تصویر مانند تولید تصویر جدید، تغییر تصاویر، گرفتن تصاویر از دوربین یا فایل ویدئویی، نوشتن تصاویر به فرمت ویدئو، تقسیمبندی پسزمینه، پشتیبانی از تبدیل هندسی، پشتیبانی از تشخیص کاراکتر نوری، دوخت تصویر است. ، و خیلی بیشتر.
شروع کار با Emgu CV
برای اجرای پروژه خود با استفاده از Emgu CV، ابتدا باید زمان اجرا دات نت را نصب کنید. پس از آن، می توانید به صورت دستی مخزن را از GitHub دانلود کنید. برای نصب از دستور زیر استفاده کنید.
Emgu CV را از طریق GitHub نصب کنید
git clone https://github.com/emgucv/emgucv.git
ایجاد و مدیریت تصویر از طریق دات نت
کتابخانه رایگان Emgu CV به برنامه نویسان نرم افزار امکان می دهد برنامه هایی ایجاد کنند که می توانند تصاویر را به راحتی ایجاد و پردازش کنند. شما می توانید به راحتی یک تصویر ایجاد کنید، اما پیشنهاد می شود که یک شی تصویر بسازید. با استفاده از کلاس مدیریت می توانید چندین مزیت مانند مدیریت خودکار حافظه، جمع آوری خودکار زباله و شامل روش های پیشرفته ای مانند عملیات عمومی بر روی پیکسل های تصویر، تبدیل به Bitmap و غیره داشته باشید. شما به راحتی می توانید اندازه را تنظیم کنید، رنگ را اعمال کنید، عمق تصویر را مشخص کنید و موارد دیگر
ایجاد تصویر از طریق دات نت
//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");
}
تشخیص علائم ترافیکی از طریق NET API
API منبع باز Emgu CV شامل پشتیبانی برای تشخیص صدای ترافیک به راحتی با استفاده از دستورات دات نت است. این کتابخانه به توسعه دهندگان کمک می کند تا علائم توقف را از تصاویر گرفته شده توسط دوربین تشخیص دهند که بخش مهمی از سیستم ناوبری خودروی خودمختار است. بسیار مفید است و می تواند به خودرو کمک کند تا با خیال راحت در محیط شهری حرکت کند. در مرحله اول، توسعه دهندگان باید هشت ضلعی قرمز از علائم راهنمایی و رانندگی را استخراج کنند و می توانند از SURF برای مطابقت با ویژگی های منطقه کاندید برای مطابقت با آن استفاده کنند.
دوخت تصویر را از طریق CSharp انجام دهید
کتابخانه Emgu CV به توسعهدهندگان کمک میکند تا با استفاده از کد سی شارپ، تصویر را در برنامههای خود دوخت انجام دهند. این یک فرآیند بسیار مفید برای ترکیب چندین عکس عکاسی برای ایجاد یک پانورامای بخشدار یا تصویر با وضوح بالا است. کتابخانه برای اجرای آن فقط به چند خط کد نیاز دارد، اما مهم است که به خاطر داشته باشید که برای نتایج دقیق تقریباً همپوشانی های دقیق بین تصاویر و نوردهی های یکسان مورد نیاز است.
انجام دوخت تصویر از طریق دات نت
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
}