Tạo video từ hình ảnh bằng OpenCV

Hướng dẫn chi tiết cách tạo video từ các hình ảnh bằng Python và thư viện OpenCV. Bài viết bao gồm mã nguồn và giải thích từng dòng mã.

Đoạn mã Python này sử dụng thư viện OpenCV để tạo video từ các hình ảnh. Bằng cách đọc các hình ảnh từ thư mục, đoạn mã sẽ kết hợp chúng lại thành một video với tốc độ khung hình được chỉ định.

import cv2
import os

# Đường dẫn đến thư mục chứa các hình ảnh
image_folder = 'path_to_images'
# Tên file video đầu ra
video_name = 'output_video.avi'

# Lấy danh sách các file hình ảnh trong thư mục
images = [img for img in os.listdir(image_folder) if img.endswith(".jpg")]
images.sort()  # Sắp xếp các hình ảnh theo thứ tự

# Đọc hình ảnh đầu tiên để lấy kích thước khung hình
frame = cv2.imread(os.path.join(image_folder, images[0]))
height, width, layers = frame.shape

# Định nghĩa codec và tạo đối tượng VideoWriter
video = cv2.VideoWriter(video_name, cv2.VideoWriter_fourcc(*'DIVX'), 1, (width, height))

# Lặp qua tất cả các hình ảnh và thêm vào video
for image in images:
    video.write(cv2.imread(os.path.join(image_folder, image)))

# Giải phóng đối tượng VideoWriter
video.release()

Giải thích từng dòng mã

  1. Import các thư viện cần thiếtcv2 để xử lý video và os để làm việc với hệ thống file.
  2. Đường dẫn đến thư mục chứa các hình ảnh: Xác định đường dẫn đến thư mục chứa các hình ảnh.
  3. Tên file video đầu ra: Đặt tên cho file video đầu ra.
  4. Lấy danh sách các file hình ảnh trong thư mục: Sử dụng os.listdir để lấy danh sách các file hình ảnh và lọc các file có đuôi .jpg.
  5. Sắp xếp các hình ảnh theo thứ tự: Sử dụng sort() để sắp xếp các hình ảnh theo thứ tự.
  6. Đọc hình ảnh đầu tiên để lấy kích thước khung hình: Sử dụng cv2.imread để đọc hình ảnh đầu tiên và lấy kích thước khung hình.
  7. Định nghĩa codec và tạo đối tượng VideoWriter: Sử dụng cv2.VideoWriter để định nghĩa codec và tạo đối tượng VideoWriter.
  8. Lặp qua tất cả các hình ảnh và thêm vào video: Sử dụng vòng lặp for để lặp qua tất cả các hình ảnh và thêm vào video.
  9. Giải phóng đối tượng VideoWriter: Sử dụng release() để giải phóng đối tượng VideoWriter.

Yêu cầu hệ thống

  • Phiên bản Python: 3.6 trở lên

Để cài đặt các thư viện cần thiết, bạn có thể sử dụng lệnh sau trong terminal hoặc command prompt:

pip install opencv-python

Lời khuyên

  1. Kiểm tra đường dẫn: Đảm bảo rằng đường dẫn đến thư mục chứa hình ảnh là chính xác.
  2. Định dạng hình ảnh: Đảm bảo tất cả các hình ảnh có cùng định dạng và kích thước để tránh lỗi khi tạo video.
  3. Thử nghiệm với tốc độ khung hình: Bạn có thể thay đổi giá trị tốc độ khung hình (fps) để tạo ra video với tốc độ khác nhau.


Các Hướng Dẫn Cùng Chủ Đề Đang Xem

Cách SELECT dữ liệu từ database MySQL bằng Python

Hướng dẫn cách kết nối và truy vấn dữ liệu từ database MySQL bằng Python sử dụng thư viện mysql-connector-python.
Loại bỏ khoảng trống của hình ảnh (trim image) bằng Python

Hướng dẫn cách sử dụng Python để loại bỏ khoảng trống xung quanh hình ảnh (trim image) bằng thư viện OpenCV. Mã Python này giúp cắt bớt các vùng trắng hoặc khoảng trống xung quanh ảnh để làm nổi bật nội dung chính.
Hướng dẫn làm form đăng ký tài khoản trong Python bằng PyQT6

Hướng dẫn chi tiết cách tạo form đăng ký tài khoản trong Python sử dụng PyQT6, bao gồm cách thêm các trường nhập liệu và xử lý sự kiện khi người dùng nhấn nút đăng ký.
Xóa nền cho hình ảnh bằng thư viện Rembg trong Python

Hướng dẫn chi tiết cách xóa nền cho hình ảnh bằng Python và thư viện Rembg. Bài viết bao gồm mã nguồn và giải thích từng dòng mã.
Tổng hợp tất cả các cách sử dụng hàm print trong Python

Hướng dẫn chi tiết về tất cả các cách sử dụng hàm print() trong Python, bao gồm các tùy chọn định dạng, tham số và cách sử dụng nâng cao.
Cách loại bỏ MultiIndex columns trong Pandas

Bài viết này hướng dẫn cách loại bỏ các cột MultiIndex trong DataFrame của Pandas, một tính năng hữu ích khi làm việc với dữ liệu phức tạp có nhiều chỉ mục. Bạn sẽ học cách làm phẳng MultiIndex hoặc loại bỏ chúng hoàn toàn.
Chuyển đổi chữ cái Unicode có dấu thành không dấu trong Python

Hướng dẫn cách sử dụng Python để chuyển đổi các chữ cái Unicode có dấu trong bảng chữ cái tiếng Việt thành các chữ cái không dấu. Mã Python này hỗ trợ việc xử lý văn bản tiếng Việt một cách hiệu quả.
Cách UPDATE dữ liệu database MySQL bằng Python

Hướng dẫn cách cập nhật dữ liệu trong database MySQL bằng Python sử dụng thư viện mysql-connector-python.
Cách chuyển đổi file TensorFlow từ định dạng .pb sang .h5

Hướng dẫn chi tiết cách chuyển đổi mô hình TensorFlow từ định dạng file .pb sang .h5, giúp bạn dễ dàng lưu trữ và tải lại mô hình để sử dụng trong các ứng dụng machine learning.
Truyền Authentication Header Token khi POST dữ liệu tới API bằng Python

Hướng dẫn cách gửi yêu cầu POST tới API kèm theo Authentication Header Token bằng Python. Phương pháp này được sử dụng để xác thực và bảo mật trong giao tiếp với các API.

Đã thêm vào giỏ hàng