- CvCapture* capture=cvCreateCameraCapture(0);
- IplImage* img;
- char c;
- cvNamedWindow("test",1);
- while(true){
- img=cvQueryFrame(capture);
- cvShowImage("test",img);
- c=cvWaitKey(30);
- if(c==27)
- break;
- }
- cvReleaseCapture(&capture);
บรรทัดแรก, ประกาศ capture และตั้งค่าให้รับภาพจากกล้อง
At line 1, capture is declared and initiated to camera capture
บรรทัดที่ 2, ประกาศ img สำหรับเก็บภาพที่ได้จาก capture
At line 2, img is declared for store an image from capture
บรรทัดที่ 5, หน้าต่างชื่อ test จะถูกสร้างขึ้น
บรรทัดที่ 5, หน้าต่างชื่อ test จะถูกสร้างขึ้น
At line 5, the window named test will be created
บรรทัดที่ 7, ภาพจาก capture ถูกดึงและจัดเก็บไว้ใน img โดยใช้ cvQueryFrame
At line 7, the image is queried and stored in img by using cvQueryFrame
หมายเหตุ: มีอีกสองฟังก์ชั่นสำหรับการดำเนินการดึงภาพจาก capture คือ cvGrabFrame และ cvRetrieveFrame
Notice: There are cvGrabFrame and cvRetrieveFrame for this operation
สิ่งสำคัญ: ห้ามใช้ cvReleaseImage กับภาพที่ถูกดึงจาก capture
Important: Don't release the image from capture by using cvReleaseImage
บรรทัดที่ 8, แสดงภาพ img บนหน้าต่าง test
At line 8, img is shown on test window
บรรทัดที่ 9-11, สั่งให้รอการกดปุ่ม 30 มิลลิวินาที ถ้าปุ่มที่กดเป็นปุ่ม Esc (รหัสอักขระเป็น 27) ให้หยุดลูป
At line 9-11, it wait 30 millisecond for key pressing. If pressed key is Esc (ascii code equal to 27) then loop is stopped
บรรทัดที่ 13, ปลดปล่อยหน่วยความจำสำหรับ capture
At line 13, capture is released
No comments:
Post a Comment