- 12 ความคิดเห็น
เขียนโปรแกรมติดต่อกับกล้อง
- เปิดโปรแกรม visual studio และ New
Project พร้อมกับเซตค่าต่างๆ ของไลบราลี่ emguCV ให้เรียบร้อยนะครับ (อ่านวิธีทำได้ที่นี้ เริ่มทำจากข้อ 4 ถึงข้อ 6 นะครับ ) เมื่อเสร็จแล้วจะได้หน้าตาแบบนี้นะครับ
- ขยาย Form1 ให้มีขนาดที่ต้องการ จากนั้นไปที่แถบเครื่องมือ(Toolbox) ด้านซ้ายมือให้ลาก pictureBox มาวางใน Form 1 พร้อมตั้งชื่อเป็น (Name): pbShowCamera
- ลากปุ่ม(Button) มาใส่ 2 ปุ่มครับ โดยให้ตั้งชื่อ (Name) ตามภาพนะครับ
- ลาก Timer จาก ToolBox มาไว้ใน Form ดับเบิ้ลคลิ๊กที่ปุ่ม Capture ! , Stop ! และ รูปtimer1 ใส่โค๊ดดังภาพ
- กลับไปที่หน้า Design ดับเบิ้ลคลิ๊กที่ form นะครับ แล้วใส่โค๊ดดังภาพ
- กลับไปที่ private void process() นะครับ ใส่โค๊ดตามนี้นะครับ
- ลองกดรัน(F5) จะได้ผลตามภาพนะครับ
ติดปัญหาหรือมีข้อสงสัยอะไรก็ถามได้นะครับ
12 ความคิดเห็น
An unhandled exception of type 'System.NullReferenceException' occurred in...
มันขึ้นแบบนี้น่ะครับ
@Zerofreedom Peerapat
ลอง disable อุปกรณ์ Sound, video and game controllers ใน Device Meneger ที่ไม่เกี่ยวข้องดูครับ
เพราะเครื่องคุณอาจจะ detect อุปกรณ์อื่นที่ไม่ใช่ webcam
http://www.uppic.org/image-D510_51638854.jpg
มันขึ้นมาแบบนี้ครับท่าน ไม่ทราบต้องแก้ไขยังไง ตรงไหนครับผม ^_^
pbShowCamera.Image = showImg.ToBitmap();
บรรทัดนี้ ขึ้นตัวแดง สอบถามนิดนึงครับ ตั้งชื่อ ฟอร์มตามนี้แร้วค๊าบผม
ปัญหาเกิดได้จาก 2 กรณีนี้ครับ
1. ชื่อ pictureBox ในส่วนของ Form Design ไม่ตรงกับ code ให้ลองกลับไปดูที่ขั้นตอนที่ 2 ดีๆ ครับ
2.showImg มีปัญหา ให้ลองไล่ๆขึ้นไปดูว่าได้ประกาศตัวแปรนี้ไว้หรือยัง
ผมใส่ตรงนี้
cameraImage = capture.QueryFrame(1); มัน บอกว่า
No overload for method 'QueryFrame'takes 1 arguments
มันคือ อะไรเอ้ย... ขอเมล์หรือfacebook ไว้ติดต่อได้มั้ยมครับ
https://www.facebook.com/Labplays ทักในแชทได้เลยครับ
ขอโทษครับ ที่ครั้งที่แล้วให้ข้อมูลที่ผิดพลาดไป ถ้าคุณต้องการจะเลือกพอร์ตกล้อง เป็นพอร์ตอื่น
capture = new Emgu.Cv.Capture(1);
capture = new Emgu.Cv.Capture(2);
capture = new Emgu.Cv.Capture(3);
บรรทัด cameraImage = capture.QueryFrame();
ขั้นแบบนี้อ่ะครับ
Cannot implicitly convert type 'Emgu.CV.Mat' to 'Emgu.CV.Image' มันคืออะไรครับ
Post a Comment