v2.5.0¶
v2.5.0은 기능이 풍부한 이미징 릴리스입니다: find_rects(), find_circles(), get_regression()(선/회귀 피팅), find_number()(LeNet 숫자), ImageWriter / ImageReader 스트림 클래스, sensor.flush() / width() / height(), 그리고 pyb.RTC 지원을 추가합니다. 이제 이미지 로딩이 프레임 버퍼 기반입니다 — 아래의 호환성을 깨뜨리는 변경 사항을 읽어 보세요.
주요 사항¶
image.find_rects()— 코너 출력을 제공하는 사각형 / 쿼드 검출기.image.find_circles()— Hough 원 검출.image.get_regression()— 최소제곱법 및 견고한(Theil-Sen) 선 피팅.image.find_number()— LeNet 숫자 인식.ImageWriter/ImageReader— 이미지 스트림을 기록하고 재생합니다.pyb.RTC지원, 그리고sensor.flush()/sensor.width()/sensor.height().호환성 변경: 이제 이미지 로딩이 프레임 버퍼 기반이며 이미지가 너무 크면 예외를 발생시킵니다 — 호환성을 깨뜨리는 변경 사항을 참고하세요.
새로운 기능¶
특징 검출 —
image.find_rects()(AprilTag 쿼드 검출기;x/y/w/h/corners/magnitude속성을 가진 rect 객체),image.find_circles()(Hough 변환),image.get_regression()(최소 제곱법 + Theil-Sen 강건 직선 피팅),image.find_number()(LeNet 숫자 인식)를 각각 예제 스크립트와 함께 추가했습니다.결과 코너 — QR 코드 / AprilTag / 데이터 매트릭스 / 바코드 결과 객체에
corners속성을 추가했습니다.이미지 스트림 —
image_writer.py/image_reader.py예제와 함께image.ImageWriter/image.ImageReader클래스(16바이트 정렬 청크 형식)를 추가했습니다.Sensor —
sensor.flush()(스냅샷 없이 프레임 버퍼를 IDE로 전송)와sensor.width()/sensor.height()를 추가했습니다.pyb.RTC—rtc.py예제와 함께 RTC 지원을 활성화했습니다.고양이 얼굴 Haar 캐스케이드와 Servo-Shield(PCA9685) 예제를 추가했습니다.
openmv-cascade.py호스트 도구는 새로운 OpenCV XML 캐스케이드 형식에 대한 지원을 추가했습니다.
기타 변경 사항 및 개선¶
프레임 버퍼가 리팩터링되어
copy_to_fb이미지 메서드가 IDE 미리보기를 업데이트합니다.HaarCascade()경로는 더 이상 앞에/가 필요하지 않습니다(내장 vs. 파일이 자동으로 감지됨). GIF/MJPEG 녹화가 이제 VGA(및 BAYER GIF)를 지원합니다. 내장README.txt가 업데이트되었고, 새 파일시스템에서는openmv.inf드라이버 파일이 더 이상 생성되지 않습니다.
버그 수정¶
이미징:
find_circles()투표 누적, ROI가 있을 때의get_regression()rho 오프셋 및 메모리 누수,find_lines()선분 병합,find_blobs()각도 평균화 및 기본(가장 제한이 적은) 색상 경계, ORB 키포인트 정렬 안정성 / 디스크립터 순서 및 매치 플래그, 그리고 Haar 캐스케이드 버퍼링 로딩(정렬되지 않은 읽기)을 수정했습니다.
시스템:
pybServo 3(P9)을 활성화하고(#256), RTC 초기화를 수정했으며, UART 문자 타임아웃을 늘리고(#240), 초기화되지 않은 센서 프레임 버퍼 “enabled” 플래그를 수정했습니다.
하드웨어 및 보드 지원¶
API를 깨뜨리는 변경 사항¶
v2.4.1과 v2.5.0 사이의 사용자에게 보이는 API 변경 사항입니다. 범위: modules/의 Python C 모듈과 scripts/libraries/의 Python 라이브러리.
이 호환성 변경은 behavior 변경(동일한 API, 다른 결과)입니다 — 영향을 받는 스크립트를 다시 확인하세요. 각 커밋 해시는 GitHub의 해당 diff로 연결됩니다.
이미지 로딩이 프레임 버퍼 기반임 (behavior)¶
이제 image.Image / 이미지 로딩은 로드된 이미지를 메인 프레임 버퍼로 복사하며 이미지가 너무 커서 들어가지 않으면 예외를 발생시킵니다. 이전에 힙 버퍼로 성공하던 로드가 이제 실패할 수 있습니다 — 로드된 이미지가 프레임 버퍼에 맞는지 확인하세요(또는 새로운 오류를 처리하세요).
커밋: 87d53385a
마이그레이션 체크리스트¶
이전에 힙 기반 이미지 로드에 의존했던 곳에서는 로드된 이미지가 프레임 버퍼에 맞는지 확인하세요(또는 새로운 “image too large” 오류를 잡으세요)(이미지 로드 변경). 그 외 모든 스크립트는 수정 없이 그대로 실행됩니다.