Thông báo

Collapse
No announcement yet.

Hỏi về xử lý ảnh Opencv và điều khiển động cơ qua cổng RS232

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

  • Hỏi về xử lý ảnh Opencv và điều khiển động cơ qua cổng RS232

    Mình viết được chương trình xử lý ảnh = Opencv dùng Dialog box trong visual c++ và xử dụng cái ví dụ mẫu cvCamshift (bác nào dùng rồi chắc biết).
    và muốn dk động cơ cho con robocar thông qua cổng Rs232 và đã test thành công ví dụ của anh ngohaibac ở PIC. Nhưng vấn đề ở đây mình muốn hỏi là
    - làm thế nào để dk dùng bàn phím ở Dialog box (vì làm theo cách của MFC ko đc)
    thanks mọi người

  • #2
    Nguyên văn bởi freeone Xem bài viết
    Mình viết được chương trình xử lý ảnh = Opencv dùng Dialog box trong visual c++ và xử dụng cái ví dụ mẫu cvCamshift (bác nào dùng rồi chắc biết).
    và muốn dk động cơ cho con robocar thông qua cổng Rs232 và đã test thành công ví dụ của anh ngohaibac ở PIC. Nhưng vấn đề ở đây mình muốn hỏi là
    - làm thế nào để dk dùng bàn phím ở Dialog box (vì làm theo cách của MFC ko đc)
    thanks mọi người
    @freeone: theo tôi thì bạn cần Hook bàn phím. Tôi viết một thư viện Hook cho các key trên bàn phím. Nếu cần bạn có thể download tại:

    http://rapidshare.com/files/231566627/Kbhook.rar.html

    Comment


    • #3
      Nguyên văn bởi compvis Xem bài viết
      @freeone: theo tôi thì bạn cần Hook bàn phím. Tôi viết một thư viện Hook cho các key trên bàn phím. Nếu cần bạn có thể download tại:

      http://rapidshare.com/files/231566627/Kbhook.rar.html
      Bạn có thể hướng dẫn cụ thể hơn 1 chut dc ko? Mình chưa hiểu thế nào đẻ hook bàn phím?

      Comment


      • #4
        Nguyên văn bởi freeone Xem bài viết
        Bạn có thể hướng dẫn cụ thể hơn 1 chut dc ko? Mình chưa hiểu thế nào đẻ hook bàn phím?
        Mở tập tin Kbhook.h trong thư mục inc để xem hướng giẫn.

        Hãy biết nhấn nút Cảm ơn nếu cảm thấy bài viết của tôi có ích !

        Comment


        • #5
          Nguyên văn bởi compvis Xem bài viết
          Mở tập tin Kbhook.h trong thư mục inc để xem hướng giẫn.

          Hãy biết nhấn nút Cảm ơn nếu cảm thấy bài viết của tôi có ích !
          ok thanks bac

          Comment


          • #6
            Bạn ơi có một số lỗi ntn bạn giải quyết hộ nhé
            khai báo
            static UINT USER_CLICK0 = ::RegisterWindowMessage(WM_0D); tại CProjectnameDlg.cpp của mình lỗi
            error C2664: 'RegisterWindowMessageA' : cannot convert parameter 1 from 'unsigned short [50]' to 'const char *'
            .
            - làm theo hướng dẫn để ấn nút F2 thì ko có lỗi nhưng khi ấn F2 không ra cái MessageBox
            - Và điều nữa là khi làm ấn nút sự kiện F2 như trong hướng dẫn thì có phải khai báo
            static UINT USER_CLICKF2 = ::RegisterWindowMessage(WM_F2D); tại CProjectnameDlg không ???

            Comment


            • #7
              Nguyên văn bởi freeone Xem bài viết
              static UINT USER_CLICK0 = ::RegisterWindowMessage(WM_0D); tại CProjectnameDlg.cpp của mình lỗi
              error C2664: 'RegisterWindowMessageA' : cannot convert parameter 1 from 'unsigned short [50]' to 'const char *'
              @freeone: WM_OD được khái báo trong kbhook.h là:

              #define WM_OD L"user_click0D_B2ABC742_0A63_49C3_9ABC_CF006802 7A66 "
              Vì thế, phải là hàm RegisterWindowMessageW chứ không phải là RegisterWindowsMessageA. Bạn có thể dùng prefix: _UNICODE cho hàm này trong code của bạn. Tuy nhiên thì bạn có thể khai báo thế này:

              static UINT USER_CLICK0 = ::RegisterWindowMessageW(WM_0D);

              - làm theo hướng dẫn để ấn nút F2 thì ko có lỗi nhưng khi ấn F2 không ra cái MessageBox
              Có thể bạn chưa handle sự kiện nhấn F2 trong

              BEGIN_MESSAGE_MAP(CProjectnameDlg , CDialog)
              .....................
              ON_REGISTERED_MESSAGE(USER_CLICKF2, OnClickF2D)
              END_MESSAGE_MAP()

              Khai báo hàm OnClickF2D trong CProjectnameDlg.h:
              afx_msg LRESULT OnClickF2D(WPARAM wParam, LPARAM lParam);

              Và triển khai hàm này trong CProjectnameDlg.cpp:

              LRESULT CProjectnameDlg::OnClickF2D(WPARAM wParam, LPARAM lParam)
              {
              //Thực hiện nhiệm vụ nào đó khi F2 được nhấn tại đây: Thực hiện một tác vụ Xử lý ảnh khi nhấn F2 ????
              //Ví dụ: Hiển thị một thông điệp khi nhấn F2
              MessageBox(this,_T("Software "),_T("Kbhook 12.0 testing...."),MB_OK);
              return -1;
              }


              - Và điều nữa là khi làm ấn nút sự kiện F2 như trong hướng dẫn thì có phải khai báo
              static UINT USER_CLICKF2 = ::RegisterWindowMessage(WM_F2D); tại CProjectnameDlg không ???
              Đúng thế, chúng ta phải register cho WM_F2D (F2 down) hoặc WM_F2U (F2 up).


              @freeone: Xem demo tại:



              Hãy biết nhấn nút Cảm ơn nếu cảm thấy bài viết của tôi có ích !
              Last edited by compvis; 13-05-2009, 11:03.

              Comment


              • #8
                Ôi ! Mình post nhầm tới 2 lần/1 bài ! Xin lỗi nhé

                Comment


                • #9
                  Cai demo testhook sai pass roi ko extrac dc.ban xem lai ho cai

                  Comment


                  • #10
                    @compvis: Thanks bạn rất nhiều mình đã làm được

                    Comment


                    • #11
                      con 1 điều nữa hỏi nốt bạn là làm thế nào để định nghĩa phím dk như là nút sang trái sang phải đấy

                      Comment


                      • #12
                        a` còn 1 điều nữa là. định nghĩa các phím dk ntn nhỉ.như là phím sang trai sang phai ấy

                        Comment


                        • #13
                          Nguyên văn bởi freeone Xem bài viết
                          @compvis: Thanks bạn rất nhiều mình đã làm được
                          @freeone: Hãy nhấn nút "Cám ơn" nếu thấy bài viết của tôi có ích !!!

                          Không nhất thiết phải dùng --> mới sang phải hoặc <-- mới sang trái. Bạn có thể dùng A cho sang trái, D cho sang phải, W tiến lên và Z cho lùi lại...

                          Chúc bạn thành công với Kbhook !!!!

                          Comment


                          • #14
                            Nguyên văn bởi freeone Xem bài viết
                            @compvis: Thanks bạn rất nhiều mình đã làm được
                            @freeone: Rất vui vì bạn đã thành công...

                            Comment


                            • #15
                              Nguyên văn bởi freeone Xem bài viết
                              Mình viết được chương trình xử lý ảnh = Opencv dùng Dialog box trong visual c++ và xử dụng cái ví dụ mẫu cvCamshift (bác nào dùng rồi chắc biết).
                              và muốn dk động cơ cho con robocar thông qua cổng Rs232 và đã test thành công ví dụ của anh ngohaibac ở PIC. Nhưng vấn đề ở đây mình muốn hỏi là
                              - làm thế nào để dk dùng bàn phím ở Dialog box (vì làm theo cách của MFC ko đc)
                              thanks mọi người
                              Mình cũng đang làm OpenCV với RS232 dùng VC++, không hiểu sao viết riêng từng project thì OK nhưng viết chung trên 1 MFC thì compile dc build dc nhưng execute ko ra gì cả. Có ai biết 2 cái này có bị xung đột gì không? Giúp mình với 2 ngày nay ko làm dc gì ráo.
                              |

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X