บันทึกแนะนำ : ไม่อวดรู้ แล้วจึง "รู้..." (บทเรียนจากไม้แบบ) | มหกรรม KM ครั้งที่ 5 : เปิดรับลงทะเบียน
อ่าน: 3528
ความเห็น: 23

เขียนโปรแกรมติดต่อกล้องง่ายๆ ด้วย OpenCV

งมนานมากๆ สำหรับ OpenCV ใครมีประสบการณ์แนะนำผมได้นะครับ

          หายหน้าไป วัน 2 วันครับ เพราะมัวไปงมอยู่ กับ OpenCV อยู่ครับ เกิ่น หน่อยล่ะกัน OpenCv เป็น ไลเบอรี่ ที่ Intel เขียนไว้ครับ เป็น OpenSource ใครจะเอาไปพัฒนาต่อก็ ได้เลยครับ งมอยู่หลายวันในที่สุดก็พอดันๆ ไปได้สักทีครับ เขียนติดต่อ กับกล้อง webcam และบันทึกภาพออกมา

โค้ดก็เป็นเช่นนี้ครับ

#include "cv.h"
#include "highgui.h"
#include <stdio.h>

void Record();
// A Simple Camera Capture

int main() {

  CvCapture* capture = cvCaptureFromCAM(0);

  if( !capture ) {
    fprintf( stderr, "ERROR: capture is NULL \n" );
    getchar();
    return -1;
  }

  // Create a window in which the captured images will be presented
  cvNamedWindow( "mywindow", CV_WINDOW_AUTOSIZE );
  cvNamedWindow( "mys", CV_WINDOW_AUTOSIZE );
    

 // Grab Master frame for find size
 cvGrabFrame(capture);

 // Retrieve Master frame for find size
 IplImage* m_frame = cvRetrieveFrame(capture); 

 // Set size of frame for AVI file
 CvSize sizeT = cvSize(int(m_frame->width),int(m_frame->height));

 // Open Save DialogBox


 // If null path
 char* strFull = "beebrain.avi";

 // Create AVI file
  CvVideoWriter* t_AVIWriter= cvCreateVideoWriter(strFull,-1,10, sizeT );

  while( 1 ) {
    // Get one frame

 cvGrabFrame(capture);
 m_frame = cvRetrieveFrame(capture);

 char* name = "mywindow";

  cvShowImage( name, m_frame );
  cvWriteToAVI(t_AVIWriter,m_frame);

 // Do not release the frame!
    //If ESC key pressed,
    //remove higher bits using AND operator

    if( (cvWaitKey(10) & 255) == 27 ) break;
  }

  // Release the capture device housekeeping
  cvReleaseVideoWriter(&t_AVIWriter);
  cvReleaseCapture( &capture );
  cvDestroyWindow( "mywindow" );
  cvDestroyWindow( "mys" );
  return 0;
}

สั้นๆ ได้ใจความ อิอิ แต่ก็ ต้อง ทำการ Config ให้ ไลบาลี่ อยู่ในตัวโปรเจคก่อนนะครับ อันนี้ สำหรับผู้ที่พัฒนาโดยใช้ VC6 ครับ วันหน้าจะ กล่าวถึงการ Config นะครับ สำหรับวันนี้ ราตรีสวัสครับผม

หมวดหมู่: เรื่องทั่วไป
คำสำคัญ: image  opencv  opensource
สัญญาอนุญาต: สงวนสิทธิ์ทุกประการ Copyright
สร้าง: 23 เมษายน 2550 02:18 แก้ไข: 08 สิงหาคม 2550 02:54 [ แจ้งไม่เหมาะสม ]

บันทึกอื่นๆ

ความเห็น

1.
  • ขอบคุณมากครับน้องชาย
  • ยอดครับ ไว้จะเอาไปลองบ้างครับผม
  • โชคดีนะครับผม
2.
Ico32
เพื่อนร่วมทาง
เมื่อ 10 พฤษภาคม 2550 22:31
#256207 [ แจ้งไม่เหมาะสม ]
  • แหม รูปนี้ดูแล้วหล่อจัง
  • P อิ อิ
3.
goose [IP: 202.142.204.1]
เมื่อ 16 พฤษภาคม 2550 14:15
#262021 [ แจ้งไม่เหมาะสม ]

น่าสนใจมากเลยค่ะ

แล้ววิธีการ config ทำไงเหรอคะ

ช่วยแนะนำด้วย

jommy28@hotmail.com

4.
closeup [IP: 203.113.39.8]
เมื่อ 22 พฤษภาคม 2550 22:55
#268434 [ แจ้งไม่เหมาะสม ]

ช่วยแนะนำวิธีการ config หน่อยคับ

5.
แมว [IP: 124.121.246.125]
เมื่อ 09 กันยายน 2550 14:53
#378643 [ แจ้งไม่เหมาะสม ]

ขอรบกวนพี่หน่อยน่ะครับ พอดีผมทำโปรเจค เครื่องคัดแยกสีและนับจำนวนสินค้าตามสีที่กำหนด โดยใช้ VC++ กับ OpenCv อ่ะครับ แต่ตอนนี้ผมติดปํญหา คืออาจารย์เค้าถามว่า หลักการของการแปลงค่าสีจากRGB เป็น HSV มีหลักการยังไง ก็คือผมพอจะหาการทำงานดดยย่อได้แล้ว แต่ติดปัญหาตรงที่ว่าเมื่อกล้องจับภาพมา 1 เฟรมแล้วในระบบ RGB มันมีวิธีการยังไงในการที่จะแปลงค่าภาพ 1 เฟรม ให้เหลือแค่ 1 pixel เดียว เพื่อจะนำค่า 1 pixel ไปแปลงให้เป็น HSV ต่อไปอ่ะครับ

ถ้าพี่พอจะรู้วิธีของการแปรงค่าสีจาก1 เฟรมให้เป็น 1 pixel ช่วยบอกผมหน่อยนะครับ

ผมจะจบไม่จบก็อยู่ที่คำตอบนี้อ่ะครับ ขอบคุณล่วงหน้าน่ะครับผม

6.
กวางจ๋า [IP: 124.121.206.246]
เมื่อ 15 มกราคม 2551 21:35
#519640 [ แจ้งไม่เหมาะสม ]

ถ้าเปง.net ละคะจะต้องปรับเยอะมั๊ยอ่า พอดีทำโปรเจคเกี่ยวกะลายน้ำดิจิตอลที่ต้อง capture รุปภาพจากกล้องอะคะ ยังไงช่วยแนะนำด้วยนะคะหรือแอดเมลมาก็ได้คะ ตอนนี้แย่แล้วคะจะไม่ทันแล้ว TT ขอบคุณล่วงหน้านะค๊า

7.
Ico32
บู้บี้จัง
เมื่อ 16 มกราคม 2551 07:31
#519860 [ แจ้งไม่เหมาะสม ]

งั้นเดี๋ยว เอาไว้ เจะเขียน วิธี config .net ให้แล้วกันนะครับ

8.
dear [IP: 202.12.73.18]
เมื่อ 23 มกราคม 2552 03:09
#1086590 [ แจ้งไม่เหมาะสม ]

thank for code krab

now i doing a thesis. Which concern with tracking.

i want video file to test algorithm.

9.
namenaza [IP: 125.25.91.231]
เมื่อ 12 กุมภาพันธ์ 2552 22:43
#1126751 [ แจ้งไม่เหมาะสม ]

อยากได้แบบเป็นภาษาC#อ่าฮะ

ติดต่อกล้อง

10.
nisa [IP: 203.158.221.227]
เมื่อ 07 มีนาคม 2552 18:12
#1169461 [ แจ้งไม่เหมาะสม ]

ใช้ visual c++ 6.0 ในการทำโปรแกรมอ่านป้ายทะเบียนแล้วจะใช้OpenCV ติดต่อกล้อง cctv ค่ะทำไงค่ะ ส่งคำตอบทางเมลืน่ะค่ะพี่ขอบคุณล่วงหน้าค่ะ

11.
q07 [IP: 124.121.12.84]
เมื่อ 28 มีนาคม 2552 03:40
#1206059 [ แจ้งไม่เหมาะสม ]

เมล์มาครับ ผมมี เนื้อหา การหาป้ายทะเบียนด้วย opencv อยู่

12.

ขอบคุณมากๆเลยค่ะ กำลังหาข้อมูลนี้อยู่เลย

13.
สันต์ชัย ลาภบุญมี [IP: 114.128.124.97]
เมื่อ 13 ธันวาคม 2552 05:29
#1730998 [ แจ้งไม่เหมาะสม ]

พี่คาบช่วยหน่อย....คือผมทำโปรเจคโปรแกรมอ่านป้ายทะเบียนรถ ใช้ OpenCVกับ vc++ ตอนนี้ผมติดตรงการตัดเอาส่วนที่เปนตัวเลยพี่พอจะช่วยได้ไหมคาบ.......

14.
Ico32
บู้บี้จัง
เมื่อ 14 ธันวาคม 2552 10:17
#1733833 [ แจ้งไม่เหมาะสม ]

ตัดอย่างไรส่วนที่เป็น ตัวเลขครับ

ถ้าอย่างไรเรา Capture ของ แต่ละตัวแลขให้ได้ก่อน อาจจะ Capture ออกมาเป้น วัตถุ 1 ตัว เก็บไว้ที่ Momery ก้ได้ หรือ เป็นไฟล์ ก็ได้ครับ

จากนั้นเราให้ โปรแกรมพิจาณาว่าคือตัวเลขอะไร

คล้ายๆ OCR หรือถ้าไม่เช่นนั้นเรา Train Network มาแล้วก็ แบ่งส่วนของตัวเลขที่จับมาได้ แล้วให้ Network เป็นตัวบอกว่า มันคือเลขอะไร ก็ได้ครับ ฃ

มีได้หลายวิธี ลองดูครับ

15.
สันต์ชัย ลาภบุญมี [IP: 58.147.63.2]
เมื่อ 15 ธันวาคม 2552 10:17
#1735996 [ แจ้งไม่เหมาะสม ]

ขอโค้ดส่วนที่เป็นการตัดตัวเลข..........ได้ไหมคาบพี่ช่วยหน่อยคาบ......

16.
sunchai [IP: 112.142.175.99]
เมื่อ 31 มกราคม 2553 14:47
#1830114 [ แจ้งไม่เหมาะสม ]

พี่คับ vc# กับ vc++ ในการเขียนโปรแกรมติดต่อกับกล้องใช้โค้ดตัวเดียวกับที่เขียนไว้ได้หรือป่าว

ช่วยแนะนำหน่อยคาบ ของผมใช้ vc# ก็เลยอยากถามว่าใช้โค้ด vc++ ของพี่ได้ไหม

17.
Ico32
บู้บี้จัง
เมื่อ 31 มกราคม 2553 19:45
#1830515 [ แจ้งไม่เหมาะสม ]

เกรงว่าจะไม่ได้ ครับ syntax ไม่เหมือนกัน

18.
sunchai [IP: 112.142.13.10]
เมื่อ 01 กุมภาพันธ์ 2553 04:35
#1831156 [ แจ้งไม่เหมาะสม ]

พี่พอจะช่วยเขียน vc# ในการติดต่อกับกล้อง และบันทึกภาพออกมา ได้ไหมคาบ

19.
Ico32
บู้บี้จัง
เมื่อ 01 กุมภาพันธ์ 2553 09:01
#1831265 [ แจ้งไม่เหมาะสม ]

ไม่ได้ครับ ผมใช้ Library ของ OpenCV ดังนั้น OpenCV รองรับ C++ กับ Python C# ไม่รับ ต้องลองหา library ตัวอื่นคัรบ

20.
sunchai [IP: 114.128.194.245]
เมื่อ 02 กุมภาพันธ์ 2553 00:52
#1832561 [ แจ้งไม่เหมาะสม ]

Engu.cv ตัวนี้รองรับ vc# แต่ผมไม่รู้จะเริ่มอย่างไร เพราะไม่ถนัด vc# พี่พอจะช่วยได้ไหมคาบ

21.
sunchai [IP: 114.128.194.245]
เมื่อ 02 กุมภาพันธ์ 2553 00:54
#1832562 [ แจ้งไม่เหมาะสม ]

Emgu.cv ตัวนี้รองรับ vc# แต่ผมไม่รู้จะเริ่มอย่างไร เพราะไม่ถนัด vc# พี่พอจะช่วยได้ไหมคาบ

22.
Ico32
บู้บี้จัง
เมื่อ 25 กรกฎาคม 2553 20:25
#2105507 [ แจ้งไม่เหมาะสม ]

http://javawork.exteen.com/20090110/start-opencv-c

http://opencv.willowgarage.com/wiki/

http://gotoknow.org/blog/boobeejung/91898

http://swik.net/webcam+opencv

http://www.comp.leeds.ac.uk/vision/opencv/movies.html

http://www.daniweb.com/forums/thread149674.html

http://www.comp.leeds.ac.uk/vision/opencv/movies.html

http://www.rainsoft.de/projects/pwc/webcam_doc/index.html

http://www.vidoemo.com/yvideo.php?i=YldsMzN1cWuRpcmgydzg&fast-object-tracking-in-c-using-opencv

http://www.vidoemo.com/yvideo.php?i=S0x6M0lzcWuRpY0FUMzg&opencv-webcam-head-tracking-kde4=

http://www.google.co.th/search?q=opencv+webcam&hl=th&prmd=v&source=univ&tbs=vid:1&tbo=u&ei=bQg4TNOWF4aXrAeFufyCCQ&sa=X&oi=video_result_group&ct=title&resnum=4&ved=0CDUQqwQwAw

home / blog / boobeejung / 91898 / delete-comment / 2082097

23.
bird [IP: 182.52.218.86]
เมื่อ 24 สิงหาคม 2553 01:34
#2147145 [ แจ้งไม่เหมาะสม ]

แล้วถ้าจะให้มัน จับพวกสิ่งของละครับผม

ทำแก้ไข หรือ ทำอย่างไงครับผม

ร่วมแสดงความเห็นในหน้านี้

ชื่อ:
อีเมล:
IP แอดเดรส: 38.107.191.98
ข้อความ:  
เรียกเครื่องมือจัดการข้อความ
รหัสสุ่ม:
   
  ยกเลิก หรือ ดูตัวอย่างก่อนบันทึก หรือ
   

กฏ กติกา การแสดงความคิดเห็น

เว็บไซต์ GotoKnow.org ขอความกรุณาทุกท่านปฏิบัติตามกฏ กติกา ดังต่อไปนี้ เพื่อส่งเสริมให้เกิดการใช้งานที่สอดคล้องกับวัตถุประสงค์ของเว็บไซต์ และเพื่อการส่งเสริมชุมชนออนไลน์ที่มีคุณภาพ

  1. กรุณางดการใช้ข้อความ ภาพ เสียง วิดีโอ และสื่อมัลติมีเดียใดๆ ที่ไม่สุภาพ คำหยาบ ส่อเสียด กล่าวร้าย ดูหมิ่น พาดพิงทำให้ผู้อื่นเสียหาย และทำให้เกิดความแตกแยกทางสังคม และกระทบต่อสถาบันชาติ ศาสนา และพระมหากษัตริย์
  2. ควรแสดงความคิดเห็นอย่างให้ความเคารพต่อสิทธิของผู้อื่นและตนเอง เนื่องจากความคิดเห็นดังกล่าวจะเผยแพร่ต่อสาธารณะชน
  3. กรุณางดการคัดลอกความคิดเห็น หรือข้อความจากแหล่งข้อมูลใดๆ มาใช้โดยไม่ได้รับอนุญาต และงดการเผยแพร่ข้อมูลเพื่อโฆษณาสินค้าและบริการใดๆ ที่มีผลประโยชน์ทางการค้า
  4. ควรแจ้งแหล่งอ้างอิงข้อมูลอย่างชัดเจน เมื่อมีการอ้างอิงข้อมูลจากแหล่งอื่นๆ ในการแสดงความคิดเห็น เพื่อเป็นการแสดงเจตนาถึงการไม่ละเมิดลิขสิทธิ์ของผู้อื่น
  5. ความคิดเห็นที่แสดงในบันทึก ไม่เกี่ยวข้องกับเว็บไซต์ โดยถือเป็นความรับผิดชอบทางกฏหมายของผู้แสดงความคิดเห็น
  6. เว็บไซต์ GotoKnow ขอสงวนสิทธิ์ในการลบความคิดเห็นที่ขัดต่อกฏ กติกาข้างต้น และขัดต่อเงื่อนไขการใช้บริการของเว็บไซต์โดยไม่ต้องชี้แจงเหตุผลใดๆ ต่อเจ้าของบล็อกและเจ้าของความคิดเห็นดังกล่าว