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

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • freeone
    Thành viên mới
    • Aug 2008
    • 12

    #1

    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
  • compvis
    Thành viên tích cực
    • May 2006
    • 247

    #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:

    Comment

    • freeone
      Thành viên mới
      • Aug 2008
      • 12

      #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

      • compvis
        Thành viên tích cực
        • May 2006
        • 247

        #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

        • freeone
          Thành viên mới
          • Aug 2008
          • 12

          #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

          • freeone
            Thành viên mới
            • Aug 2008
            • 12

            #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

            • compvis
              Thành viên tích cực
              • May 2006
              • 247

              #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, 10:03.

              Comment

              • compvis
                Thành viên tích cực
                • May 2006
                • 247

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

                Comment

                • freeone
                  Thành viên mới
                  • Aug 2008
                  • 12

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

                  Comment

                  • freeone
                    Thành viên mới
                    • Aug 2008
                    • 12

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

                    Comment

                    • freeone
                      Thành viên mới
                      • Aug 2008
                      • 12

                      #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

                      • freeone
                        Thành viên mới
                        • Aug 2008
                        • 12

                        #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

                        • compvis
                          Thành viên tích cực
                          • May 2006
                          • 247

                          #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

                          • compvis
                            Thành viên tích cực
                            • May 2006
                            • 247

                            #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

                            • xuanlai
                              Thành viên mới
                              • Mar 2008
                              • 17

                              #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...