Lesson 3 : Working with Camera

       สวัสดีครับ มาถึง Lesson 3 กันล่ะ วันนี้เราจะมาเล่นกับอุปกรณ์ต่อพ่วงที่สำคัญในงานด้านคอมพิวเตอร์วิทัศน์กัน นั่นก็คือ.....กล้องเว็บแคม ^_^ (กล้องที่ติดมากับโน้ตบุค ก็ใช้ได้นะ) วันนี้เราจะมาเขียนโปรแกรมโดยใช้ Visual C# ร่วมกับไลบรารี่ EmguCV เพื่อติดต่อกล้อง การทำงานของโปรแกรม เอาเป็นว่าให้มีความสามารถพื้นฐาน เบสิค ๆ ดังนี้
  • โปรแกรมสามารถนำภาพจากกล้องมาแสดงผลบนโปรแกรมเป็น 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

มาถึงขั้นตอนการเขียนโค้ดโปรแกรม
  1. เพิ่ม references ให้กับโปรเจคดังรูป

  2. เพิ่มบรรทัดในโค้ดในส่วนการเรียกใช้งานไลบรารี่ EmguCV ดังรูป

  3. ประกาศตัวแปรขึ้นมา 2 ตัว ดังรูป โดยที่ตัวแรกใช้ในการดึงภาพจากกล้อง และอีกตัวใช้เพื่อรับผลจากการคิวรี่เฟรมของกล้อง

  4. สร้างฟังก์ชั่นในการคิวรี่เฟรมจากกล้อง ให้แสดงผลภาพที่คิวรี่มาได้จากกล้องที่ ImageBox พร้อมบอกสถานะของการทำงาน

  5. เพิ่มโค้ดให้กับปุ่ม Start ดังรูป โดยมีการตรวจสอบผลการดึงภาพจากกล้องโดยใช้ คำสั่ง If และ Try-Catch

  6. เพิ่มโค้ดคำสั่งให้ปุ่ม Pause ดังรูป

  7. เพิ่มโค้ดคำสั่งให้ปุ่ม Save ดังรูป โดยจะใช้คำสั่ง Try-Catch เพื่อตรวจจับข้อผิดพลาด เช่นกรณีที่กดปุ่มบันทึกภาพขณะที่ยังไม่ได้เปิดกล้อง
    โค้ดฉบับเต็มครับ >>> DownLoad

ความคิดเห็น

บทความที่ได้รับความนิยม