Tin tổng hợp

OpenCV – Bài 2 : Hướng dẫn cơ bản

  • 15/10/2021
  • Đầu tiên các bạn mở PyCharm IDE :

    Tạo new project

    Đặt tên project

    Tạo file python mới trong project

    nhập tên file

    Tiến hành viết code

    Tiến hành cài thư viện online. Vào trang https://pypi.org/ tìm kiếm thư viện mong muốn. Trong bài tập này mình sử dụng 2 thư viện xử lý ảnh OpenCV và Imutils

    copy câu lệnh cài đặt thư viện

     

    vào pycharm mở terminal , paste câu lệnh vừa copy để cài đặt ( nếu không được bạn sửa pip –> pip3 tuỳ theo hệ điều hành bạn sử dụng)

    nếu cài thành công sẽ thông báo như sau:

    làm tương tự với thư viện imutils

    để xem các thư viện đã cài chọn Python Packages

    Tiến hành viết code:

    các bạn chuẩn bị 1 bức ảnh như hình trên đặt tên anh.jpeg copy vào thư mục project

    1.Tải và hiển thị hình ảnh: Đọc và hiển thị ảnh, in ra màn hình console giá trị kích thước của ảnh

    gõ đoạn code sau :

    xem kết quả hiển thị:

    2. Truy cập từng pixel ảnh :Trong chương trình thị giác máy tính mỗi màu bất kỳ được tổ hợp từ 3 màu cơ bản lam,lục,đổ(B,G,R). Mỗi điểm ảnh là pixel được biểu thị bởi 3 giá trị màu lam,lục,đổ(B,G,R). Chúng ta tiến hành truy cập vị trí của điểm ảnh và đọc ra giá trị màu (B,G,R). Viết thêm đoạn code sau:

    (B, G, R) = image[90, 60]
    #Truy cập điểm pixel của anh tại toạ độ x = 90, y = 60
    print("R={}, G={}, B={}".format(R, G, B))
    # in ra màn hình giá trị màu BGR

    3.Vùng quan tâm (ROI)

    Để tăng tốc độ xử lý ảnh, tránh bị nhiễu hình ảnh các vùng lân cận, chúng ta khoang vùng và cắt ảnh để xử lý. Thêm đoạn code sau:

    4.Thay đổi kích thước hình ảnh: mục đích để phục vụ việc xử lý ảnh được nhanh hơn nếu giảm pixel của ảnh, đồng bộ kích thước ảnh cho việc học sâu,…đầu tiên thay đổi ảnh về kích thước 300×300.Thêm đoạn code sau:

    để hiển theo đúng tỷ lệ ta thay thế code trên bằng code sau

    để thay đổi kích thước theo tỷ lệ dễ dàng hơn ta dùng thư viện imutils theo code sau:

    5.Xoay hình ảnh : Thực hiện xoay hình ảnh theo  góc cho trước. Việc quay một hình ảnh về điểm chính giữa yêu cầu trước tiên chúng ta phải tính tọa độ tâm (x, y) của hình ảnh. // là phép chia lấy số nguyên. Thêm đoạn code sau:

    ta có hình ảnh kết quả:

    để xoay ảnh thuận tiện không phải tính tâm ảnh ta sử dụng thư viện imutils thay thế đoạn code trên:

    kết quả:

    tuy nhiên việc xoay ảnh như trên khiến hình ảnh bị cắt mất hình ảnh, hình ảnh hiển thi không được trọn vẹn để khắc phục ta dùng code sau:

    ta có kết quả:

    6. Làm mịn – mờ ảnh : Việc làm mờ – mịn ảnh giúp giảm nhiễu tần số cao giúp các thuật toán phát hiện ít nhầm lẫn do nhiễu.Thường sử dụng hàm GaussianBlur thực hiện theo code sau:

    kết quả :

    7.Vẽ hình trên ảnh: Khi vẽ trên ảnh ta nên copy ra 1 hình ảnh khác tiến hành vẽ để không làm thay đổi hình ảnh gốc.

    -Vẽ hình chữ nhật sử dụng code sau:

    kết quả:

    -Vẽ hìnhh tròn theo code sau:

    kết quả:

    -Vẽ đoàn thẳng, theo code sau:

    kết quả:

    -Viết text lên hình ảnh theo code sau:

    kết quả: