Lesson 3 : Working with Camera
สวัสดีครับ มาถึง Lesson 3 กันล่ะ วันนี้เราจะมาเล่นกับอุปกรณ์ต่อพ่วงที่สำคัญในงานด้านคอมพิวเตอร์วิทัศน์กัน นั่นก็คือ.....กล้องเว็บแคม ^_^ (กล้องที่ติดมากับโน้ตบุค ก็ใช้ได้นะ) วันนี้เราจะมาเขียนโปรแกรมโดยใช้ Visual C# ร่วมกับไลบรารี่ EmguCV เพื่อติดต่อกล้อง การทำงานของโปรแกรม เอาเป็นว่าให้มีความสามารถพื้นฐาน เบสิค ๆ ดังนี้
เอาล่ะ!มาเริ่มกันเลยครับ เปิด Microsoft Visual Studio (Visual C#) ขึ้นมาเลยครับ ทำการสร้างโปรเจคใหม่ขึ้นมาโดยมีคอนโทรลดังนี้
มาถึงขั้นตอนการเขียนโค้ดโปรแกรม
- โปรแกรมสามารถนำภาพจากกล้องมาแสดงผลบนโปรแกรมเป็น RealTime ได้
- โปรแกรมสามารถความคุมการแสดงผลภาพได้ Pause & Resume
- โปรแกรมสามารถบันทึกไฟล์ภาพจากกล้องได้
เอาล่ะ!มาเริ่มกันเลยครับ เปิด Microsoft Visual Studio (Visual C#) ขึ้นมาเลยครับ ทำการสร้างโปรเจคใหม่ขึ้นมาโดยมีคอนโทรลดังนี้
ออบเจ็กต์/คอนโทรล
|
พร็อพเพอร์ตี้
|
ค่าที่กำหนด
|
Form
|
Name
|
Form1
|
Text
|
Basic Camera Capture
|
|
Button
|
Name
|
btnStart
|
Text
|
Start
|
|
Name
|
btnPause
|
|
Text
|
Pause
|
|
Name
|
btnSave
|
|
Text
|
Save
|
|
Image Box
|
Name
|
ibDisplay
|
Size
|
320 x 240
|
|
Label
|
Name
|
label1
|
Text
|
Camera
Control
|
|
Name
|
lbStatus
|
|
Text
|
ไม่มี
|
|
GroupBox
|
Name
|
groupBox1
|
Text
|
Status Of Process
|
- เพิ่ม references ให้กับโปรเจคดังรูป
- เพิ่มบรรทัดในโค้ดในส่วนการเรียกใช้งานไลบรารี่ EmguCV ดังรูป
- ประกาศตัวแปรขึ้นมา 2 ตัว ดังรูป โดยที่ตัวแรกใช้ในการดึงภาพจากกล้อง และอีกตัวใช้เพื่อรับผลจากการคิวรี่เฟรมของกล้อง
- สร้างฟังก์ชั่นในการคิวรี่เฟรมจากกล้อง ให้แสดงผลภาพที่คิวรี่มาได้จากกล้องที่ ImageBox พร้อมบอกสถานะของการทำงาน
- เพิ่มโค้ดให้กับปุ่ม Start ดังรูป โดยมีการตรวจสอบผลการดึงภาพจากกล้องโดยใช้ คำสั่ง If และ Try-Catch
- เพิ่มโค้ดคำสั่งให้ปุ่ม Pause ดังรูป
- เพิ่มโค้ดคำสั่งให้ปุ่ม Save ดังรูป โดยจะใช้คำสั่ง Try-Catch เพื่อตรวจจับข้อผิดพลาด เช่นกรณีที่กดปุ่มบันทึกภาพขณะที่ยังไม่ได้เปิดกล้อง โค้ดฉบับเต็มครับ >>> DownLoad
ความคิดเห็น
แสดงความคิดเห็น