Thông báo

Collapse
No announcement yet.

Sử dụng OpenCV trong Visual C++ 2008

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Chào em,


    Em có thể tham khảo cách xử lý video trong openCV ở các trang sau:

    Video Input with OpenCV and similarity measurement — OpenCV v2.4.2 documentation
    Laganiere's OpenCV Tutorial

    Chúc em hoàn thành tốt project này!


    Nguyên văn bởi hcantho13720 Xem bài viết
    Anh ơi cho em hỏi tí về openCv
    Hiện em đã load được video lên, giờ em muốn chụp 2 tấm ảnh liên tiếp, sau đó lấy ảnh sau trừ đi ảnh trước để làm hiện lên vùng chuyển động thì phải làm sao hả anh?

    Comment


    • A ơi... Sao e lấy code mà nó báo lỗi: "Debug Assertion Failed!"
      invalid null pointer.
      Là sao vậy a?


      Nguyên văn bởi nthung2002 Xem bài viết
      Chào em,
      Em có thể tham khảo cách xử lý video trong openCV ở các trang sau:

      Video Input with OpenCV and similarity measurement — OpenCV v2.4.2 documentation
      Laganiere's OpenCV Tutorial

      Chúc em hoàn thành tốt project này!

      Comment


      • Cám ơn bạn nhiều nhé.....................loạt bài này rất hay

        Comment


        • bác nthung2002!
          1. Em muốn chuyển từ project viết bằng console của VS C++ trên VS 2008 (ví dụ ứng dụng file camshiftdemo.cpp trong Opencv/sample) sang chương trình theo dạng Winform Application của VS C++ trên VS 2008 nhưng vẫn chưa được. Bác có project nào demo như vậy không?
          2. Trong project Hiển thị webcam qua Picture Box mà bác ví dụ ở page 4, em không muốn dùng timer mà dùng vòng lặp cvQueryFrame( capture ) có được không? Em đã thử nhưng chưa được. Anh dành thời gian xem giúp em được ko?

          Comment


          • Nguyên văn bởi Bim1004 Xem bài viết
            bác nthung2002!
            1. Em muốn chuyển từ project viết bằng console của VS C++ trên VS 2008 (ví dụ ứng dụng file camshiftdemo.cpp trong Opencv/sample) sang chương trình theo dạng Winform Application của VS C++ trên VS 2008 nhưng vẫn chưa được. Bác có project nào demo như vậy không?
            2. Trong project Hiển thị webcam qua Picture Box mà bác ví dụ ở page 4, em không muốn dùng timer mà dùng vòng lặp cvQueryFrame( capture ) có được không? Em đã thử nhưng chưa được. Anh dành thời gian xem giúp em được ko?
            1.bạn xây dựng form ra rồi thêm code vào thôi :/, bình thường nếu bạn biết lập trình thì code được console thì winform quá đơn giản ! Bạn nên xem lại
            2.Bạn sử dụng hiển thị ảnh thu được từ webcam thì phải dùng queryframe là đúng rồi :/, k biết chưa được của bạn là chưa được thế nào ?
            Bao nhiêu là đủ !

            Comment


            • Em mới tìm hiểu về opencv dùng visual C++ 2008 khi debug cứ bị lỗi "anonymous namespace'::CV_XADD" các pác giúp em với

              Comment


              • Nguyên văn bởi peacee7789 Xem bài viết
                Em mới tìm hiểu về opencv dùng visual C++ 2008 khi debug cứ bị lỗi "anonymous namespace'::CV_XADD" các pác giúp em với
                Lỗi này vào google tìm ra rất nhiều mà. Sao bạn k thử tự mình sửa xem sao. Nếu k được thì up code và hình ảnh lỗi lên đây mọi người có thể giúp.

                Regards,

                Comment


                • Em có 1 đoạn code hiển thị ảnh như sau;

                  #include <opencv/cv.h>
                  #include <opencv/highgui.h>
                  int main ()
                  {
                  IplImage* hinhanh/*img */= cvLoadImage("chocon.jpg");
                  cvNamedWindow("khunghinh",CV_WINDOW_FREERATIO );
                  cvShowImage("khunghinh",hinhanh /*img*/);
                  cvWaitKey(0);
                  cvReleaseImage(&hinhanh/*img*/);
                  cvDestroyWindow( "khunghinh" );

                  return 0;
                  }

                  Khi chương trình debug oke em thay đổi tên hình trong ô bôi đậm rồi debug lần nữa thì chương trình vẫn hiện lên ảnh cũ, thậm chí xóa tên hình cũng vẫn hiển thị ảnh cũ, các pác giải thích giúp em

                  Comment


                  • Cảm ơn bác akirakudo đã trả lời câu hỏi của em.
                    Về phần không dùng tools Timer, em đã xử lý được rồi. Để nói rõ hơn về chuyển ứng dụng bằng console, nay chuyển sang winform em đang có vấn đề như sau:
                    1. Hiển thị hình ảnh video qua Picture Box (OK).
                    2. Lựa chọn đối tượng bằng cách khoanh vùng chuột trên ảnh được hiển thị qua Picture Box, trong ứng dụng bằng console ta áp dụng hàm void cvSetMouseCallback(const char* windowName, CvMouseCallback onMouse, void* param=NULL). Tuy nhiên, chuyển sang winform, hiển thị qua Picture Box em chưa biết cách ứng dụng hàm này như thế nào, hoặc dùng phương án khác.
                    Mong các pác giúp đỡ em!

                    Comment


                    • Chào bạn,

                      Bạn có thể sử dụng các event của pictureBox liên quan đến Mouse: MouseDown, MouseLeave, MouseMove, hoặc MouseUp để thực hiện chức năng như em mong muốn!



                      Nguyên văn bởi Bim1004 Xem bài viết
                      Cảm ơn bác akirakudo đã trả lời câu hỏi của em.
                      Về phần không dùng tools Timer, em đã xử lý được rồi. Để nói rõ hơn về chuyển ứng dụng bằng console, nay chuyển sang winform em đang có vấn đề như sau:
                      1. Hiển thị hình ảnh video qua Picture Box (OK).
                      2. Lựa chọn đối tượng bằng cách khoanh vùng chuột trên ảnh được hiển thị qua Picture Box, trong ứng dụng bằng console ta áp dụng hàm void cvSetMouseCallback(const char* windowName, CvMouseCallback onMouse, void* param=NULL). Tuy nhiên, chuyển sang winform, hiển thị qua Picture Box em chưa biết cách ứng dụng hàm này như thế nào, hoặc dùng phương án khác.
                      Mong các pác giúp đỡ em!

                      Comment


                      • Em mới dùng opencv2.2.0 trong vs2010, sau khi load ảnh xong thì làm sao chuyển ảnh đó sang ảnh xám vậy???
                        C++ làm thế nào khi có công thức trên lớp thế này nữa Gray= 0.299 * R+ 0.587 * G+ 0.114 * B, mong các anh giúp

                        Comment


                        • Nguyên văn bởi Bim1004 Xem bài viết
                          bác nthung2002!
                          1. Em muốn chuyển từ project viết bằng console của VS C++ trên VS 2008 (ví dụ ứng dụng file camshiftdemo.cpp trong Opencv/sample) sang chương trình theo dạng Winform Application của VS C++ trên VS 2008 nhưng vẫn chưa được. Bác có project nào demo như vậy không?
                          2. Trong project Hiển thị webcam qua Picture Box mà bác ví dụ ở page 4, em không muốn dùng timer mà dùng vòng lặp cvQueryFrame( capture ) có được không? Em đã thử nhưng chưa được. Anh dành thời gian xem giúp em được ko?
                          bạn bim1004 làm dc chưa!có code thì post lên cho tớ với! đang làm đồ án.cần gấp lắp. bạn nhận dc thì pm mình dùm nha:0977423507 or standbyme_cdt08@yahoo.com.
                          phần ko dùng time và phần dùng chuột nhá....
                          Last edited by xjnnat; 09-11-2012, 14:47.

                          Comment


                          • bác bim1004 có ol thì cho tớ dt nhá!mình liên lạc hỏi xíu nhá

                            Comment


                            • em đang làm về tìm hiểu sai số trong các kỹ thuật đo khoảng cách bằng camera, cho em hỏi là đơn vị của các thành phần trong công thức dưới đây là gì ạ? đặc biệt Xright và Xleft là pixel hay cm?
                              Nguyên văn bởi compvis Xem bài viết
                              Câu hỏi của bạn Diep khá thú vị, và bạn có thể tìm hiểu về vấn đề này qua nhiều openproject được post ở trên mạng. Để Webcam của bạn capture được hình ảnh đỏi hỏi bạn phải có trình điều khiển thiết bị để điều khiển nó (Device Driver). Khi bạn đã điều khiển được Webcam rồi, bạn phải xây dựng cấu trúc dữ liệu định dạng hình ảnh nhận được từ webcam (chẳng hạn như các cấu trúc mà chúng ta đã biết như bmp, jpg, IplImage<Intel Corporation>...) và xây dựng các hàm vào ra thao tác với hình ảnh. Vấn đề tìm khoảng cách tới đối tượng, bạn phải sử dụng 2 camera, calibrate chúng và sử dụng công thức sau đây để tình toán khoảng cách(đối với hai camera đồng trục, đặt song song với nhau và cách nhau một khoảng D đã biết):

                              Z = fx*D/(Xright-Xleft)

                              Ở đây:
                              - Z là khoảng cách từ camera tới đối tượng cần đo
                              - fx là tiêu cự của camera chúng ta tìm thấy được sau khi thực hiện Calibration chúng.
                              - D là hằng số, khoảng cách giữa hai camera(tính bằng mét)
                              - Xright: hoành độ của tâm mục tiêu do camera bên phải quan sát được
                              - Xleft: hoành độ của tam mục tiêu do camera bên trái quan sát được

                              Có một số các phương pháp bạn có thể sử dụng để xác định khoảng cách. Hy vọng cách mà tôi nêu ở trên là đủ để giúp bạn hiểu vấn đề mà bạn đang quan tâm.

                              Tôi xin nói thêm là để chuẩn camera của bạn(tìm ra tiêu cự Camera), bạn có thể download một toobox được nhúng trong Matlab có thể sử dụng OK với một tutorial kèm theo. Tôi cũng viết một phần mềm nhỏ để calibrate cho camera theo thuật toán của Zhengyou Zhang, nếu bạn cần thì hãy post ý kiến của bạn lên.

                              Chúc vui !

                              Comment


                              • mình đang làm đề tài phân đoạn ảnh trong open CV nhưng vẫn chưa có hướng làm Pro nào đã từng làm có thể giúp mình đc không ah, hoặc có demo về cái này cho mình xin. cám ơn

                                Comment

                                Về tác giả

                                Collapse

                                nthung2002 Tìm hiểu thêm về nthung2002

                                Bài viết mới nhất

                                Collapse

                                Đang tải...
                                X