Thông báo

Collapse
No announcement yet.

QT4- Lập trình nhúng trên Ubuntu

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

  • #16
    truyền audio và video thời gian thực

    Nguyên văn bởi tuylipden Xem bài viết
    Để capture hình ảnh từ camera trước tiên cần phải tìm một công cụ tích hợp, hình như trong Qt cũng có một cái tool về camera này thì phải. Nhưng mà khó dùng ( có đợt mình cũng thử nhưng chẳng chạy được cái gì ). Vì vậy mình xài Opencv để lấy hình ảnh từ camera về. Cái này có điểm lợi là lấy hình ảnh khá dễ do opencv mạnh mà . Nhưng thiệt là hình ảnh lấy về được là kiểu IplImage. Kiểu ảnh này là dạng ảnh của opencv và tất nhiên là Qt nó bó tay luôn. Nên mình phải dùng một hàm để chuyển sang kiểu QImage của QT. Khi thực hiện bước này xong thì bài toán đã trở về ví dụ 1 rồi

    Bước 1 : Cài đặt opencv và tích hợp vào Qt

    Bạn nào sử dụng ubuntu thì đơn giản rùi. Các bạn vào System >Administration > Synaptic Package Manager. Trong ô search gõ opencv. Bỏ 2 cái đầu và cái cuối còn đâu bạn chọn hết rồi ấn Apply để cài đặt


    Tiếp theo là add các thư viện của opencv vào Qt.
    Khi tạo Project của Qt có xuất hiện một file .pro, file này sẽ quyết dịnh việc sử dụng module nào, thư viện nào cho Qt. Để add opencv vào project của Qt bạn thêm các lệnh sau vào file .pro



    Bước 2 : Capture hình ảnh kiểu IplImage
    Mình sẽ tạo 1 class mới để capture hình ảnh. Trong project các bạn click chuột phải vào phần tên project, của mình ở đây vẫn là test. Sau đó bạn chọn Add new.... Bạn chọn C++ Class và ấn Choose.... Bạn đặt tên cho class. Ở đây mình đặt tên là "Camera" và chọn Base class là QWidget. Chọn Finish để kết thúc.

    Sử dụng các hàm sau để lấy ảnh
    //Khởi tạo camera
    // Lấy frame từ camera


    Bước 3 : Chuyển kiểu IplImage sang QImage

    Mình dùng hàm sau để chuyển kiểu





    Đến đây thì bài toán đã quay về vd 1 rồi

    Bạn ơi, cho mình hỏi, bạn đã dùng opencv truyền audio hoặc video trực tiếp chưa (giống như chat voice hoặc webcam trong yahoo áh), nếu có rồi chia sẽ ít kiến thức của bạn dc hok,mình đang làm đề tài này.Cảm ơn bạn nhiều

    Comment


    • #17
      Mình mới làm truyền video thôi. Chưa có audio. Truyền thời gian thực qua mạng addhoc. Nói chung là tốc độ cũng ổn ổn. Nhưng chương trình viết bằng QT mình viết vẫn còn tốn bộ nhớ lắm. Chưa xử lí được vấn đề rò rỉ bộ nhớ

      Comment


      • #18
        bạn cho mình nick yahoo để có ji mình liên lạc hoc hỏi dc không

        Comment


        • #19
          ban ơi,ví dụ như ở đây, mình mún load 1 ảnh ở 1 thư mục bất kỳ thì làm ra sao vậy

          Comment


          • #20
            Bạn có thể thay đổi đường dẫn ở chỗ load ảnh ý : QImage img(".../qt4.png")

            Comment


            • #21
              Bạn có thể chỉ cho mình cách get pixel color trên QML QT không?
              ví dụ trên Rectangle Gradient, video....
              Hay có hướng đi nào có thể get pixel color không?
              Hiện tại mình dùng Window.h và GDI nhưng vẫn chưa được.

              Comment


              • #22
                Trong QT mình muốn tạo nhiều Form và truyền dữ liệu giữa các Form thì như thế nào vậy các bạn nhỉ ?

                Comment


                • #23
                  Dùng cơ chế hàm call-back kiểu cổ điển và ... thô thiển. Dùng cơ chế signal-slot trong trường hợp đơn giản. Tạo mới event và post lên vòng lặp sự kiện chung là cách tổng quát nhất; cách này dùng được ở cả GTK, Qt lẫn wxWidgets. Kết nối giữa các thread khác nhau chạy song song cũng được.
                  Phần mềm tự do hoặc không dùng máy tính nữa !.

                  Comment

                  Về tác giả

                  Collapse

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

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

                  Collapse

                  Đang tải...
                  X