v2.6.0¶
v2.6.0 cập nhật nhân lên MicroPython 1.9.2, chuyển find_line_segments() sang thuật toán LSD, thêm hỗ trợ cảm biến màn trập toàn cục MT9V034, image.rotation_corr() hiệu chỉnh phối cảnh, sensor.sleep(), lưu ảnh thô, và nền tảng cho bo mạch OpenMV 4. find_line_segments(), một số kích thước khung hình, và hành vi MicroPython đã thay đổi — hãy đọc các thay đổi gây lỗi bên dưới.
Điểm nổi bật¶
Cập nhật nhân MicroPython 1.9.2.
Đoạn thẳng LSD —
find_line_segments()nay sử dụng thuật toán Line Segment Detector.Hỗ trợ cảm biến màn trập toàn cục MT9V034.
image.rotation_corr()— hiệu chỉnh góc xoay phối cảnh theo trục X/Y/Z.sensor.sleep()chế độ ngủ mềm và lưu ảnh thô (không nén).Thay đổi gây lỗi: các tham số của
find_line_segments(), một số hằng số kích thước khung hình, và hành vi MicroPython đã thay đổi — xem các thay đổi gây lỗi.
Tính năng mới¶
image.rotation_corr()— đã thêm hiệu chỉnh góc xoay phối cảnh X/Y/Z với ví dụrotation_correction.py.sensor.sleep(enable)— đặt camera vào chế độ ngủ mềm (với ví dụ sleep-mode).Ảnh thô —
image.save()nay có thể ghi ảnh thô (không nén).MT9V034 — đã thêm hỗ trợ cảm biến màn trập toàn cục, cung cấp hằng số
sensor.MT9V034.Đã thêm ví dụ
lens_correction.pychoimage.lens_corr()và các tệp hỗ trợ bo mạch OpenMV 4 (cấu hình bo mạch / bootloader / nền tảng linker).
Các thay đổi và cải tiến khác¶
Đã cập nhật MicroPython kèm theo lên 1.9.2 (plumbing port 1.9, oofatfs); viết lại
find_line_segments.pycho API LSD mới (hiệu chỉnh ống kính tắt theo mặc định); cập nhật APIopenmvphía máy chủ (init(portname)/exec_script/stop_script); giảm xung nhịp cảm biến OpenMV Cam M4 (FPS tối đa thấp hơn trên M4); nút Dừng của IDE nay sử dụng ngoại lệ buộc ép để ngắt tập lệnh đáng tin cậy hơn.
Sửa lỗi¶
Đã sửa lỗi
image.lens_corr()để lại điểm ảnh cũ (bộ đệm đích nay được xóa trước khi ánh xạ lại),blob.density()sử dụng phép chia số nguyên (luôn trả về 0, #268), ánh xạ chân UART của OpenMV 2 (M4), và cập nhậtqrcodes_with_lens_corr.pyđể sử dụng QVGA.
Phần cứng và hỗ trợ bo mạch¶
Cảm biến màn trập toàn cục MT9V034.
OpenMV 4 — các tệp hỗ trợ bo mạch (nền tảng).
OpenMV 2 (M4) — sửa lỗi ánh xạ chân UART.
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.5.0 và v2.6.0. Phạm vi: C-module Python trong modules/ và thư viện Python trong scripts/libraries/.
Mỗi thay đổi được gắn thẻ theo mức độ ảnh hưởng:
major — ảnh hưởng đến hầu hết các tập lệnh sử dụng tính năng này; bạn cần chỉnh sửa mã.
minor — API hẹp; chỉ ảnh hưởng đến các tập lệnh sử dụng nó.
behavior — cùng API, kết quả khác; hãy kiểm tra lại các tập lệnh đã được tinh chỉnh.
Các thay đổi được nhóm theo mức độ ảnh hưởng theo thứ tự đó. Nếu bạn chỉ muốn chuyển đổi mã của mình, hãy chuyển đến danh sách kiểm tra di chuyển ở cuối. Mỗi hash commit liên kết đến diff của nó trên GitHub.
find_line_segments() chuyển sang LSD (major)¶
image.find_line_segments() đã được viết lại để sử dụng thuật toán Line Segment Detector (LSD). Các tham số cũ threshold / theta_margin / rho_margin / segment_threshold / x_stride / y_stride đã được thay thế bằng merge_distance và max_theta_diff (ví dụ: find_line_segments(merge_distance=0, max_theta_diff=15)). Tính năng này cũng không còn khả dụng trên các bo mạch M4-class (OpenMV 2).
Đã xóa các hằng số kích thước khung hình không hợp lệ (minor)¶
Các hằng số kích thước khung hình không hợp lệ sensor.QQQQCIF / QQQCIF / QQQQSIF / QQQSIF / HQQQQVGA / HVGA đã bị xóa (#261). Các tập lệnh sử dụng những hằng số này phải chuyển sang độ phân giải được hỗ trợ.
Commits: 35ab0a26f
find_qrcodes() đã bị xóa trên OpenMV Cam M4 (minor)¶
image.find_qrcodes() không còn được biên dịch trên các bo mạch M4-class (OpenMV 2). Hãy sử dụng bo mạch OpenMV 3 (M7) hoặc tính năng mã khác để phát hiện QR trên phần cứng M4. Các bo mạch khác không bị ảnh hưởng.
Commits: 7dff089e6
MicroPython đã được cập nhật lên 1.9.2 (behavior)¶
Nhân MicroPython kèm theo đã được cập nhật lên 1.9.2. Hành vi thư viện chuẩn và ngôn ngữ tuân theo MicroPython 1.9.2 thượng nguồn — hãy kiểm tra lại các tập lệnh phụ thuộc vào hành vi theo phiên bản cụ thể. Đáng chú ý, một lát cắt ảnh với bước khác 1 nay phát sinh OSError thay vì NotImplementedError.
Commits: 11bed4b99
Danh sách kiểm tra di chuyển¶
Để chuyển đổi sạch sang v2.6.0, công việc điển hình là:
Viết lại các lệnh gọi
find_line_segments()cho các tham số LSD (merge_distance/max_theta_diff) và chuyển xử lý đó ra khỏi M4 (cải tiến LSD).Thay thế các hằng số kích thước khung hình đã bị xóa bằng độ phân giải được hỗ trợ (việc xóa kích thước khung hình).
Chuyển việc phát hiện mã QR trên M4 sang bo mạch M7 (thay đổi find_qrcodes).
Xác nhận lại hành vi theo phiên bản cụ thể so với MicroPython 1.9.2 (cập nhật MicroPython).
Tất cả các tập lệnh khác chạy không thay đổi.