- 4 ความคิดเห็น
1. Download Emgu CV version 2.4.2 at http://sourceforge.net/projects/emgucv/files/emgucv/2.4.0/libemgucv-windows-x86-2.4.0.1717.exe/download
2. Setup program on your Computer (Extract zip to drives: C)
3. Set Path from C:\Emgu\emgucv-windows-x86 2.4.0.1717\bin\x86
4.เปิดโปรแกรม visual
studio แล้วไปที่ File -> New
Project เลือก Visual C# , Windows
Forms Application ตามลำดับ ตั้งชื่อโปรเจคเป็น DisplayImg
5.เมื่อกด Ok แล้วเราจะได้หน้าตาของโปรแกรมเป็นดังภาพ ส่วนรายละเอียดการเขียนโปรแกรมผมขอไม่เน้นมากนะครับ
บทนี้ผมจะเน้นไปทางการ set program เพื่อให้สามารถใช้งาน EmguCV
ได้นะครับ
6.ขั้นตอนนี้นะครับถือเป็นหัวใจหลักในการ
set
program นะครับ โปรดทำด้วยความระมัดระวัง เริ่มแรกนะครับให้ไปคลิกขวาที่
References -> Add References -> Browse แล้วเลือกไดเรคทอรี่ที่โฟลเดอร์
Emgu ที่เราได้ติดตั้งเอาไว้ครับ C:\Emgu\emgucv-windows-x86 2.4.0.1717\bin แล้วเลือกตามก่อนนี้นะครับ
( Emgu.CV.dll,
Emgu.CV.GPU.dll, Emgu.CV.ML.dll, Emgu.CV.UI.dll, Emgu.Util.dll)
7.กลับมาที่หน้า Form1.cs
นะครับ ต่อไปเราจะมาสร้าง GUI ที่จะใช้แสดงรูปภาพนะครับ ก่อนอื่นเราจะมาสร้างพื้นที่ ที่จะไว้ใช้แสดงรูปนะครับ
View -> ToolBox (Ctrl +W,X) -> PictureBox
-> แล้วลากไปไว้บน Form1 ปรับขนาดตามต้องการ
-> กำหนด (Name) : showImg
ToolBox -> Button -> ลากไปไว้บน
Form1 -> ปรับขนาดตามต้องการ -> กำหนด
(Name): disPlayImg (Text): DisplayImage
8.ขั้นตอนนี้ผมจะพาไปลงในส่วนของ
Code
แล้วนะครับ ที่หน้า Form1 ให้ ดับเบิ้ลคลิกที่ปุ่ม DisplayImage
ครับจะได้หน้าต่างเป็นแบบนี้
ให้ Copy code นี้ไปไว้ในส่วน
header นะครับ
using Emgu.CV;
using Emgu.CV.CvEnum;
using Emgu.CV.Structure;
Copy code นี้ไปไว้ใน private void disPlayImg_Click(object sender, EventArgs e)
Image<Bgr, Byte> img = new Image<Bgr, Byte>("ที่อยู่/ชื่่อรูป");
showImg.Image = img.ToBitmap(showImg.Width, showImg.Height);
9.ลองรันดูนะครับ Build
- > Build Solution (F6)
, Debug - > Start without Debugging ถ้าสำเร็จจะได้ดังภาพนะครับ
4 ความคิดเห็น
ลองเขียนแล้วติดตัวนี้คืออะไรครับ
The type initializer for 'Emgu.CV.CvInvoke' threw an exception.
คุณลองเช็ค path ก่อนครับว่าเช็ตถูกต้องหรือยัง
คุณได้ add reference หรือยัง
ลองนำของคุณไปใช้ add reference and path ก็ยัง The type initializer for 'Emgu.CV.CvInvoke' threw an exception.
น่าจะเกิดจาก platform ไม่ตรงกัน ถ้าคอมไพล์ในโหมด x86 แต่ Emgu เป็น x64 จะเกิด exception แบบนี้ด้วย ลองตรวจสอบ emgu ดูนะครับว่าเป็น x86 หรือ x64 แล้ว ตั้ง target platform ให้ตรงกัน
Post a Comment