Làm quen với OpenCV: Đọc, hiển thị và lưu ảnh

Tram Ho

Xin chào các bạn, hôm nay mình sẽ giới thiệu các bạn về thư viện Opencv2, 1 thư viện rất mạnh hay sử dụng trong xử lý ảnh, đây cũng chính là thư viện mình sử chủ yếu code trong các bài tiếp theo.
Và ở đây mình sẽ code bằng ngôn ngữ python 3 trên môn trường jupyter notebook.

Setup

Mình khuyến khích các bạn sử dụng anaconda ở đó sẽ có jupyter notebook, cách settup bạn có thể tham khảo đường link sau đây.

Cài đặt thư viện opencv2:

Kiểm tra version:

Hoặc nếu bạn không muốn mất thời gian bạn có thể sử dụng colab

Read and display image

Ảnh mình sẽ dùng sẽ là ảnh như sau:

Đầu ra của img lúc này sẽ là 1 ma trận ba chiều nhưng trong phần lý thuyết RGB.
Chúng ta sẽ có câu lệnh xem shape và size của ảnh:

Khi display ảnh thì có 2 cách:

  • Cách 1 dùng hàm có sẵn trong cv2:

  • Cách 2 dùng thư viện matplotlib.

    Nếu code như trên thì ảnh đầu ra sẽ như sau:

    Bởi vì cv2 mặc định đọc ảnh màu theo thứ là BGR (là blue, green và red). VÌ vậy muốn display đúng ta phài viết:

Accessing image data with numpy.array

Các phép toán ta quen thuộc sử dụng trên numpy cũng được sử dụng trong image data.
ví dụ:

Crop ra 1 phần trong ảnh và display chúng:

Kết quả:

Chuyển màu vùng ta vừa crop thành màu xanh:

Kết quả:

Resizing images

Ta muốn resize lại ảnh trên thành ảnh có kích thước 200, 200 sẽ làm như sau:

Write images

Lưu file ảnh ta dùng câu lệnh sau:

Tổng kết

Tất cả code bạn có thể xem chi tiết tại đây: đây

Trên đây mình đã giới thiệu với các bạn về cách đọc, display và lưu một file ảnh

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo