Emgu CV
โอเพ่นซอร์ส .NET Image Processing Library
C# API ช่วยให้นักพัฒนาซอฟต์แวร์สามารถจับภาพจากกล้องหรือไฟล์วิดีโอ รองรับการแปลงรูปเรขาคณิต และอื่นๆ อีกมากมาย
Emgu CV เป็น wrapper .NET ข้ามแพลตฟอร์มแบบโอเพนซอร์สไปยังไลบรารีประมวลผลภาพ OpenCV ที่ช่วยให้นักพัฒนาซอฟต์แวร์สามารถสร้างและจัดการรูปภาพที่เรียบง่ายและขั้นสูงภายในแอป .NET ของตนเองได้ สามารถทำงานได้อย่างราบรื่นบน Windows, Linux, Mac OS, iOS และ Android ได้อย่างง่ายดาย
Emgu CV เป็นการนำ C# ไปใช้ในหลายภาษา รวมถึง C#, VB.NET, C++ และ IronPython ไลบรารีได้รวมคุณสมบัติที่สำคัญหลายประการที่เกี่ยวข้องกับการประมวลผลภาพ เช่น การสร้างภาพใหม่ การแก้ไขภาพ การจับภาพจากกล้องหรือไฟล์วิดีโอ การเขียนภาพไปยังรูปแบบวิดีโอ การแบ่งส่วนพื้นหลัง รองรับการแปลงทางเรขาคณิต รองรับการรู้จำอักขระด้วยแสง การต่อภาพ , และอื่น ๆ อีกมากมาย.
เริ่มต้นกับ Emgu CV
ในการรันโปรเจ็กต์ของคุณโดยใช้ Emgu CV ก่อนอื่น คุณต้องติดตั้ง .NET runtime หลังจากนั้น คุณสามารถดาวน์โหลดที่เก็บด้วยตนเองจาก GitHub ใช้คำสั่งต่อไปนี้เพื่อติดตั้ง
ติดตั้ง Emgu CV ผ่าน GitHub
git clone https://github.com/emgucv/emgucv.git
การสร้างและจัดการภาพผ่าน .NET
ไลบรารี Emgu CV ฟรีช่วยให้โปรแกรมเมอร์ซอฟต์แวร์สร้างแอปที่สามารถสร้างและประมวลผลภาพได้อย่างง่ายดาย คุณสามารถสร้างภาพได้อย่างง่ายดาย แต่ขอแนะนำให้สร้างวัตถุรูปภาพ เมื่อใช้คลาสที่มีการจัดการ คุณจะมีข้อดีหลายประการ เช่น การจัดการหน่วยความจำอัตโนมัติ การรวบรวมขยะอัตโนมัติ และมีวิธีขั้นสูง เช่น การทำงานทั่วไปบนพิกเซลของรูปภาพ การแปลงเป็นบิตแมป และอื่นๆ คุณสามารถปรับขนาด ใช้สี ระบุความลึกของภาพ และอื่นๆ ได้อย่างง่ายดาย
สร้างภาพผ่าน .NET
//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
Emgu CV API โอเพ่นซอร์สได้รวมการสนับสนุนสำหรับการตรวจจับการร้องเพลงของทราฟฟิกอย่างง่ายดายโดยใช้คำสั่ง .NET ห้องสมุดช่วยให้นักพัฒนาตรวจจับสัญญาณหยุดจากภาพที่ถ่ายโดยกล้องซึ่งเป็นส่วนสำคัญของระบบนำทางรถยนต์อัตโนมัติ มีประโยชน์มากและสามารถช่วยให้รถยนต์เคลื่อนที่ได้อย่างปลอดภัยในสภาพแวดล้อมในเมือง ในขั้นตอนแรก นักพัฒนาจำเป็นต้องแยกสัญญาณไฟจราจรแปดเหลี่ยมสีแดง และพวกเขาสามารถใช้ SURF เพื่อจับคู่คุณลักษณะในภูมิภาคที่สมัครรับข้อมูลเพื่อให้ตรงกันได้
ทำการต่อภาพผ่าน CSharp
ไลบรารี Emgu CV ช่วยให้นักพัฒนาทำการต่อภาพภายในแอพของตนเองโดยใช้โค้ด C# เป็นกระบวนการที่มีประโยชน์มากในการรวมภาพถ่ายหลายภาพเข้าด้วยกันเพื่อสร้างภาพพาโนรามาแบบแบ่งส่วนหรือภาพความละเอียดสูง ไลบรารี่ต้องใช้โค้ดสองสามบรรทัดในการดำเนินการ แต่สิ่งสำคัญคือต้องจำไว้ว่าเพื่อให้ได้ผลลัพธ์ที่แม่นยำ จำเป็นต้องมีการซ้อนทับกันระหว่างรูปภาพและการเปิดรับแสงที่เหมือนกันเกือบทั้งหมด
เปลี่ยนภาพผ่าน .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
}