v2.5.0

v2.5.0 là bản phát hành hình ảnh giàu tính năng: bổ sung find_rects(), find_circles(), get_regression() (khớp đường/hồi quy), find_number() (nhận dạng chữ số LeNet), các lớp luồng ImageWriter / ImageReader, sensor.flush() / width() / height(), và hỗ trợ pyb.RTC. Việc tải ảnh nay được sao lưu bởi bộ đệm khung hình — hãy đọc các thay đổi gây lỗi bên dưới.

Điểm nổi bật

  • image.find_rects() — phát hiện hình chữ nhật/tứ giác với đầu ra góc.

  • image.find_circles() — phát hiện đường tròn Hough.

  • image.get_regression() — khớp đường bình phương nhỏ nhất và khớp mạnh (Theil-Sen).

  • image.find_number() — nhận dạng chữ số LeNet.

  • ImageWriter / ImageReader — ghi và phát lại các luồng ảnh.

  • Hỗ trợ pyb.RTC, cùng với sensor.flush() / sensor.width() / sensor.height().

  • Thay đổi gây lỗi: việc tải ảnh nay được sao lưu bởi bộ đệm khung hình và phát sinh lỗi nếu ảnh quá lớn — xem các thay đổi gây lỗi.

Tính năng mới

  • Phát hiện đặc trưng — đã thêm image.find_rects() (bộ phát hiện tứ giác AprilTag; các đối tượng hình chữ nhật với thuộc tính x / y / w / h / corners / magnitude), image.find_circles() (Hough), image.get_regression() (khớp đường bình phương nhỏ nhất + Theil-Sen mạnh mẽ), và image.find_number() (nhận dạng chữ số LeNet), mỗi loại có tập lệnh ví dụ.

  • Góc của kết quả — đã thêm thuộc tính corners vào các đối tượng kết quả mã QR/AprilTag/ma trận dữ liệu/mã vạch.

  • Luồng ảnh — đã thêm các lớp image.ImageWriter / image.ImageReader (định dạng chunk căn chỉnh 16 byte) với các ví dụ image_writer.py / image_reader.py.

  • Cảm biến — đã thêm sensor.flush() (đẩy bộ đệm khung hình lên IDE mà không cần chụp ảnh) và sensor.width() / sensor.height().

  • pyb.RTC — đã kích hoạt hỗ trợ RTC với ví dụ rtc.py.

  • Đã thêm cascade Haar khuôn mặt mèo và ví dụ Servo-Shield (PCA9685); công cụ máy chủ openmv-cascade.py đã được bổ sung hỗ trợ định dạng cascade XML OpenCV mới.

Các thay đổi và cải tiến khác

  • Bộ đệm khung hình đã được tái cấu trúc để các phương thức ảnh copy_to_fb cập nhật bản xem trước IDE; các đường dẫn HaarCascade() không còn yêu cầu dấu / đứng đầu (tích hợp sẵn hay từ tệp được tự động phát hiện); ghi GIF/MJPEG nay hỗ trợ VGA (và BAYER GIF); README.txt tích hợp đã được cập nhật và tệp driver openmv.inf không còn được tạo trên hệ thống tệp mới.

Sửa lỗi

Hình ảnh:

  • Đã sửa lỗi tích lũy phiếu find_circles(), độ lệch rho của get_regression() với ROI và rò rỉ bộ nhớ, việc hợp nhất đoạn của find_lines(), tính trung bình góc của find_blobs() và ngưỡng màu mặc định (ít hạn chế nhất), độ ổn định sắp xếp điểm đặc trưng ORB / thứ tự bộ mô tả và cờ khớp, cùng việc tải cascade Haar theo vùng đệm (đọc không căn chỉnh).

Hệ thống:

  • Đã kích hoạt Servo 3 (P9) của pyb (#256), sửa lỗi khởi tạo RTC, tăng thời gian chờ ký tự UART (#240), và sửa cờ "enabled" chưa được khởi tạo của bộ đệm khung hình cảm biến.

Phần cứng và hỗ trợ bo mạch

  • Hỗ trợ pyb.RTC và Servo 3 (P9) của pyb; ví dụ Servo-Shield (PCA9685).

Các thay đổi API gây lỗi

Các thay đổi API hiển thị với người dùng giữa v2.4.1 và v2.5.0. Phạm vi: C-module Python trong modules/ và thư viện Python trong scripts/libraries/.

Thay đổi gây lỗi là thay đổi hành vi (cùng API, kết quả khác) — hãy kiểm tra lại các tập lệnh bị ảnh hưởng. Mỗi hash commit liên kết đến diff của nó trên GitHub.

Tải ảnh được sao lưu bởi bộ đệm khung hình (hành vi)

image.Image / tải ảnh nay sao chép ảnh đã tải vào bộ đệm khung hình chính và phát sinh ngoại lệ nếu ảnh quá lớn để vừa. Các lần tải trước đây thành công vào bộ đệm heap có thể thất bại — hãy đảm bảo các ảnh đã tải vừa với bộ đệm khung hình (hoặc xử lý lỗi mới).

Commits: 87d53385a

Danh sách kiểm tra di chuyển

Đảm bảo các ảnh đã tải vừa với bộ đệm khung hình (hoặc bắt lỗi "image too large" mới) ở những nơi trước đây bạn dựa vào việc tải ảnh được sao lưu bởi heap (thay đổi tải ảnh). Tất cả các tập lệnh khác chạy không thay đổi.