Rate this post

Trong quá trình xử lý hình ảnh, chúng ta cần thay đổi kích thước hình ảnh để thực hiện các thao tác cụ thể. Hình ảnh thường được lưu trữ trong Numpy ndarray (mảng). Ndarray.shape được sử dụng để lấy kích thước của hình ảnh. Chúng ta có thể lấy chiều rộng, chiều cao và số kênh cho mỗi pixel bằng cách sử dụng chỉ số của biến thứ nguyên.

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

Ví dụ 1

Đầu ra:

Thay đổi kích thước của hình ảnh có nghĩa là thay đổi kích thước của hình ảnh, chiều rộng hoặc chiều cao của hình ảnh cũng như cả hai. Ngoài ra, tỷ lệ khung hình của hình ảnh gốc có thể được giữ lại bằng cách thay đổi kích thước hình ảnh. OpenCV cung cấp hàm cv2.resize () để thay đổi kích thước hình ảnh. Cú pháp được đưa ra là:

Thông số

  • src – nguồn / hình ảnh đầu vào (bắt buộc).
  • dsize – kích thước mong muốn cho hình ảnh đầu ra (bắt buộc)
  • fx – Hệ số tỷ lệ dọc theo trục hoành. (tùy chọn)
  • fy – Hệ số tỷ lệ dọc theo trục tung.
  • Interpolation (tùy chọn) – Flag này sử dụng các phương pháp sau:
    • INTER_NEAREST – A nearest-interpolation INTER_AREA – lấy mẫu lại bằng cách sử dụng quan hệ vùng pixel.
    • INTER_CUBIC – Phép nội suy hai chiều trên vùng lân cận 4 × 4 pixel.
    • INTER_LANCOZS4 – Nội suy Lanczos trên vùng lân cận 8 × 8 pixel

Ví dụ về thay đổi kích thước hình ảnh

Có một số cách để thay đổi kích thước hình ảnh. Dưới đây là một số ví dụ để thực hiện thao tác thay đổi kích thước:

  1. Giữ lại tỷ lệ khung hình (tỷ lệ chiều cao trên chiều rộng của hình ảnh được giữ lại)
    • Downscale (Giảm kích thước của hình ảnh)
    • Nâng cấp (Tăng kích thước của hình ảnh)
  2. Không bảo toàn Tỷ lệ khung hình
    • Chỉ thay đổi kích thước chiều rộng
    • Chỉ thay đổi kích thước chiều cao
  3. Thay đổi kích thước chiều rộng và chiều cao được chỉ định, Giữ nguyên tỷ lệ khung hình

Downscale with resize()

Đầu ra:

Trong ví dụ trên, biến scale_per chứa phần trăm hình ảnh cần được chia tỷ lệ. Giá trị <100 được sử dụng để giảm tỷ lệ hình ảnh được cung cấp. Chúng tôi sẽ sử dụng giá trị scale_per này cùng với kích thước của hình ảnh gốc để tính chiều rộng và chiều cao của hình ảnh đầu ra.

Upscale with resize()

Đầu ra:

Thay đổi tỉ lệ khung hình

+ Chỉ thay đổi kích thước chiều rộng

Trong ví dụ dưới đây, chúng tôi đã cung cấp một giá trị cụ thể theo pixel cho chiều rộng và chiều cao sẽ không bị ảnh hưởng.

Đầu ra:

Thay đổi kích thước chiều cao

Trong ví dụ dưới đây, giá trị scale_per chứa phần trăm chiều cao phải được chia tỷ lệ hoặc chúng tôi có thể cung cấp giá trị cụ thể bằng pixel.

Đầu ra:

Thay đổi kích thước chiều rộng và chiều cao cụ thể

Đầ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