v3.6.0¶
v3.6.0은 새로운 고해상도 프레임 크기(HD / FHD / QHD / QXGA / WQXGA)와 함께 완전한 OV5640 5 MP 카메라 지원을 제공하고, 코어를 MicroPython 1.12로 업데이트하며, 소프트웨어 JPEG 인코더와 AprilTag / 라인 검출을 대폭 최적화하고, OpenMV Cam H7 Plus에서 UVC(USB 비디오)를 추가하며, 최대 32 MB의 QSPI 플래시를 지원합니다. MicroPython 동작과 get_histogram()이 변경되었습니다 — 아래의 호환성을 깨는 변경 사항을 확인하세요.
주요 내용¶
OV5640 5 MP — 새로운 HD / FHD / QHD / QXGA / WQXGA / WQXGA2 프레임 크기를 갖춘 완전한 카메라 드라이버.
MicroPython 1.12 — 번들된 코어가 업데이트되었습니다.
더 빠른 파이프라인 — 소프트웨어 JPEG 인코딩, AprilTag 검출, LSD 라인 검출,
histeq(), QR 코드 디코딩을 대폭 최적화했습니다.H7 Plus에서 UVC — OpenMV Cam H7 Plus가 USB 비디오 장치로 동작할 수 있습니다.
호환성 변경: MicroPython 동작,
image.get_histogram()정규화, OpenMV 3 JPEG/그레이스케일 출력이 변경되었습니다 — 호환성을 깨는 변경 사항을 참조하세요.
새로운 기능¶
OV5640 — OV5640 5 MP 카메라에 대한 완전한 지원(센서 초기화 시 외부 클럭 설정)과 새로운
sensor.HD/FHD/QHD/QXGA/WQXGA/WQXGA2프레임 크기 상수를 추가했습니다.TIM4 — MicroPython에서 사용할 수 있도록 해제했습니다.
DAC 타이밍 쓰기 예제(
dac_write_timed.py)를 추가하고dac_control.py를dac_write.py로 이름을 변경했습니다.
기타 변경 사항 및 개선¶
번들된 MicroPython을 1.12로 업데이트했으며, 소프트웨어 JPEG 인코더(VGA 경로, 그레이스케일/바이너리 경로, 부동소수점 대신 정수 연산, MCU 캡처 최적화), LSD
find_line_segments(), AprilTag 검출,Image.histeq(), QR 코드 / RGB-to-gray 변환을 대폭 최적화했고, 최대 32 MB 칩에 대한 QSPI 플래시 지원을 추가했으며, 더 이상 사용되지 않는 CMSIS-CNNcnn.py예제를 제거했습니다.
버그 수정¶
카메라 및 이미징:
HQQQVGA에서의 JPEG 인코딩 손상, 바이너리(1비트) 이미지 → JPEG 압축,
find_line_segments()회귀(NOTDEF비정렬 검사를 다시 활성화), 사소한 OV2640 드라이버 문제를 수정했습니다.
시스템 및 부팅:
셀프 테스트 / 파일시스템 손상(이제
selftest.py가 USB MSC 활성화 전에 실행되며, 치명적 오류 시 호스트가 오류 로그를 읽을 수 있도록 USB MSC가 활성화됨),pyb.DACwrite_timed(), H7machine.I2C타이밍, 스톱 모드 이후 F7 오버드라이브 재활성화,stop_mode.pyrtc.wakeup()간격을 수정했습니다.
하드웨어 및 보드 지원¶
OV5640 — 고해상도 프레임 크기를 갖춘 완전한 5 MP 카메라 드라이버.
OpenMV Cam H7 Plus — UVC(USB 비디오) 지원;
OPENMV4R보드 타깃이OPENMV4P로 이름이 변경되었습니다.QSPI 플래시 — 이제 최대 32 MB 칩이 지원됩니다.
호환성을 깨는 API 변경¶
v3.5.2와 v3.6.0 사이에서 사용자가 체감하는 API 변경입니다. 범위: modules/의 Python C 모듈과 scripts/libraries/의 Python 라이브러리.
세 가지 호환성 변경 모두 동작 변경입니다 (동일한 API, 다른 결과) — 영향을 받는 스크립트를 다시 확인하세요. 각 커밋 해시는 GitHub의 해당 diff로 연결됩니다.
MicroPython이 1.12로 업데이트됨 (동작)¶
번들된 MicroPython 코어가 1.12로 업데이트되었습니다. 표준 라이브러리와 언어 동작은 상위 MicroPython 1.12를 따릅니다. 버전별 micropython / 표준 모듈 동작에 의존하는 스크립트를 다시 확인하세요.
커밋: eafd431ea
image.get_histogram() 임계값 정규화 변경됨 (동작)¶
이제 색상 임계값을 사용하는 image.get_histogram()(및 get_statistics())은 전체 ROI가 아닌 임계 처리된 픽셀 수를 기준으로 정규화하며, 빈 인덱싱에 반올림 대신 내림을 사용합니다. 임계 처리된 호출의 히스토그램/통계 값은 이전 릴리스와 다릅니다. 절대 히스토그램 값과 비교하던 코드를 다시 조정하세요.
커밋: 7cf0f8089
OpenMV 3 JPEG/그레이스케일 출력 변경됨 (동작)¶
플래시를 절약하기 위해 OpenMV 3(M7) YUV 룩업 테이블이 비활성화되어, OpenMV 3에서 JPEG 및 그레이스케일 출력 픽셀 값이 약간 다르게 계산됩니다. 출력은 여전히 유효하지만 이전 릴리스와 미세하게 다릅니다. OpenMV 3에서 픽셀 단위로 정확한 비교를 다시 확인하세요.
커밋: 0e4b46e41
마이그레이션 체크리스트¶
버전별 MicroPython 동작에 의존하는 스크립트를 1.12에 대해 다시 검증하고(MicroPython 업그레이드), 색상 임계값을 사용할 때 절대 get_histogram() / get_statistics() 값과 비교하던 코드를 다시 조정하며(히스토그램 변경), OpenMV 3에서 픽셀 단위로 정확한 비교를 다시 확인하세요(OpenMV 3 출력 변경). 나머지 모든 스크립트는 변경 없이 실행됩니다.