Rate this post

Trong hướng dẫn này, chúng ta sẽ học các thao tác thiết yếu liên quan đến hình ảnh. Chúng ta sẽ thảo luận về các chủ đề sau.

  • Truy cập các giá trị pixel và sửa đổi chúng
  • Truy cập thuộc tính hình ảnh
  • Đặt vùng ảnh
  • Tách và hợp nhất hình ảnh
  • Thay đổi màu sắc hình ảnh

Các bài viết liên quan:

Truy cập và sửa đổi giá trị pixel

Chúng ta truy xuất vào value pixel theo tọa độ x,y. Nó trả về giá trị array xanh lam, xanh lục, đỏ,… Nó trả về cường độ tương ứng cho hình ảnh thang độ xám. Đầu tiên, chúng ta cần tải hình ảnh BGR.

Đầu ra

Truy cập thuộc tính ảnh

Trong OpenCV, hình ảnh thường được lưu trữ trong Numpy ndarray. Để có hình dạng hoặc kích thước hình ảnh, hãy sử dụng ndarray.shape để tìm kích thước của hình ảnh. Sau đó, chúng ta có thể sử dụng vị trí chỉ mục để lấy chiều cao, chiều rộng và số kênh.

Hãy xem ví dụ sau:

Đầu ra

ROI của hình ảnh (Khu vực quan tâm)

Đôi khi, chúng ta cần làm việc với một số vùng của hình ảnh. Như chúng ta đã thảo luận trong hướng dẫn trước, nhận diện khuôn mặt trên toàn bộ bức tranh.

Khi ta nhận được khuông mặt, chúng ta chỉ lựa chọn vùng cần thiết như đôi mắt, thay vì tìm kiếm toàn bộ bức ảnh. Điều này làm tăng độ chính xác của nhận diện và hiệu suất xử lý vì chúng ta không phải tìm toàn bộ.

Trong hình trên, nếu chúng ta cần chọn quả bóng. Chúng tôi chỉ yêu cầu chọn vùng bóng.

Tách và hợp nhất các kênh hình ảnh

Các kênh BGR của hình ảnh có thể được chia thành các mặt phẳng của chúng khi cần thiết. Sau đó, các kênh riêng lẻ có thể được hợp nhất lại với nhau từ hình ảnh BGR một lần nữa. Điều này có thể được thực hiện bằng cách sau:

Hoặc

Hàm cv2.split() là một hàm thực thi chậm, tính năng lập index Numpy có hiệu quả và nên sử dụng nếu có thể

Tạo đường viền cho ảnh

OpenCV cung cấp hàm cv2.copyMakeBorder () để tạo đường viền xung quanh hình ảnh, giống như khung ảnh. Cú pháp của hàm được đưa ra dưới đây.

  • src – Nó biểu thị hình ảnh đầu vào.
  • Top, bottom, left, right – Nó xác định chiều rộng đường viền theo số pixel theo hướng tương ứng.
  • borderType – Nó xác định loại đường viền sẽ được thêm vào. Đường viền có thể là các loại sau.
  • Value – Màu của đường viền nếu loại đường viền là cv.BORDER_CONSTANT

Hãy xem xét ví dụ sau:

Thay đổi màu ảnh

OpenCV cvtColor

CvtColor được sử dụng để chuyển đổi hình ảnh từ không gian màu này sang không gian màu khác. Cú pháp như sau:

Parameters

  • src – Nó được sử dụng để nhập một hình ảnh: 8-bit không dấu.
  • dst – Nó được sử dụng để hiển thị hình ảnh dưới dạng đầu ra. Hình ảnh đầu ra sẽ có cùng kích thước và độ sâu với hình ảnh đầu vào.
  • code- mã chuyển đổi không gian màu.

Hãy xem xét ví dụ sau

Đầu ra:

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now