Skip to content

Latest commit

 

History

History
121 lines (91 loc) · 13 KB

File metadata and controls

121 lines (91 loc) · 13 KB

🏠 홈📚 문서


📚 문서 허브

이 폴더는 HALCON 13 Regions ▸ Features 오퍼레이터 40종을 SDK 없이 재현하기 위한 문서 체계입니다. 원문 아카이브 → 정의서 → 검증 → 구현 노트 순으로 근거가 이어지며, 코드는 언제나 이 문서들의 결론을 따릅니다. 정의가 틀린 채로 짠 코드는 전부 폐기이므로, 구현 전에 아래 순서대로 읽는 것을 권합니다.


1. 읽는 순서

1.1 신규 참여자 — 처음부터 끝까지

순서 문서 무엇을 얻는가
0 CLAUDE.md 작업 시작 전 필수. 절대 원칙 · 함정 8건 · 코딩 규칙
1 00_OVERVIEW.md 프로젝트 범위 · 절대 원칙 5건 · 원문 함정 14건 · 40종 현황표
2 01_ARCHITECTURE.md 왜 PIMPL·런렝스·캐시인가. 코드를 짜기 직전에 읽는다
3 02_DEFINITIONS.md 구현의 유일한 근거. 5종의 수식·예외·쟁점 해소
4 03_VERIFICATION.md 기준 도형 S1~S7 과 손계산 기댓값. 테스트의 근거
5 04_IMPLEMENTATION_NOTES.md Phase 1 실측 결과 · 문서 보정 4건 · 남은 리스크
6 reference/halcon13/ HALCON 13 원문 아카이브. 새 오퍼레이터를 추가할 때

1.2 목적별 진입 경로

지금 하려는 일 이렇게 들어가세요
특정 오퍼레이터의 값이 궁금하다 아래 §3 오퍼레이터 역인덱스 에서 해당 행의 링크 3개를 순서대로
값이 HALCON 과 다르다 03_VERIFICATION.md 기댓값 대조 → 04_IMPLEMENTATION_NOTES.md §3 (곡선 도형 편향) → 02_DEFINITIONS.md 정의 재확인
새 오퍼레이터를 추가한다 reference/halcon13/README.md 에서 원문 위치 확인 → 02_DEFINITIONS.md 절 추가 → 03_VERIFICATION.md 기댓값 손계산 → 구현 → 00_OVERVIEW.md §7 현황표 갱신
코드 구조를 파악한다 01_ARCHITECTURE.md §2 계층도 → 04_IMPLEMENTATION_NOTES.md §2 실제 파일 구성
왜 OpenCV 를 안 쓰는지 알고 싶다 02_DEFINITIONS.md §1604_IMPLEMENTATION_NOTES.md §2.1
테스트를 짠다 / 빌드한다 03_VERIFICATION.md §2~§304_IMPLEMENTATION_NOTES.md §7CONTRIBUTING.md
미결 쟁점을 만났다 02_DEFINITIONS.md §15 확정 이력 → 03_VERIFICATION.md §5 결정적 판정 → CLAUDE.md §5.3 절차

2. 문서 카탈로그

문서 한 줄 설명 줄 수 언제 읽는가
00_OVERVIEW.md 목적 · 절대 원칙 5건 · 원문 함정 14건 · 40종 구현 현황표 158 프로젝트를 처음 볼 때, 전체 진척을 확인할 때
01_ARCHITECTURE.md 설계 제약 5건과 그로부터 나온 패턴(PIMPL·Facade·런렝스·캐시) 157 코드를 짜기 직전
02_DEFINITIONS.md 특징값 정의서. 시그니처 · 원문 인용 · 수식 · 구현 지침 · 쟁점 360 수식을 코드로 옮길 때 (구현의 유일한 근거)
03_VERIFICATION.md 기준 도형 S1~S7 · 손계산 기댓값 · HDevelop 실측 스크립트 310 테스트를 짤 때, 값이 안 맞을 때
04_IMPLEMENTATION_NOTES.md Phase 1 실측 결과(PASS 70/FAIL 0) · 곡선 도형 교훈 · 남은 리스크 204 구현 후 결과를 대조할 때, 곡선 도형 값이 이상할 때
reference/halcon13/ HALCON 13 원문 수집 아카이브 (G1~G5, 40종 전부) 2,094 정의서에 없는 오퍼레이터를 새로 다룰 때

저장소 루트에는 README.md(프로젝트 표지), CLAUDE.md(작업 지침), CONTRIBUTING.md(빌드·기여 절차)가 있습니다.


3. 오퍼레이터 → 문서 위치 역인덱스

Phase 1 에서 정의 · 검증 · 구현이 모두 끝난 5종입니다. 한 행이 곧 그 오퍼레이터의 전체 근거 사슬입니다.

오퍼레이터 정의서 검증 기댓값 HALCON 원문 구현 노트
area_center 면적 · 무게중심 §1 T-1 G1 §1 §1
contlength 윤곽 길이 (구멍 제외) §2 T-2 G1 §3 §3
circularity 원형도 min(1, F/(max²π)) §3 T-3 G2 §1 §4
compactness 조밀도 max(1, L²/(4Fπ)) §4 T-4 G2 §2 §5
convexity 볼록도 F_o / F_c §5 T-5 G2 §3 §2.3

2차 배치(2차 모멘트 계열 5종) — 정의 · 검증 완료, 구현 미빌드

오퍼레이터 정의서 검증 기댓값 HALCON 원문
moments_region_2nd M11 · M20 · M02 · Ia · Ib (정규화 없음) §6 T-7 G4 §1
moments_region_2nd_invar 위 값 / §7 T-8 G4 §2
elliptic_axis Ra · Rb · Phi (내부 F 정규화) §8 T-9 G2 §7
eccentricity Anisometry · Bulkiness · StructureFactor §9 T-10 G2 §6
orientation_region 방향 (Phi + 최원 윤곽점) §10 T-11 G2 §8

3차 배치(구멍 검출 계열 4종) — 정의 · 검증 완료, 구현 미빌드

오퍼레이터 정의서 검증 기댓값 HALCON 원문 구현 노트
area_holes 구멍 픽셀 총합 §11 T-14 G1 §2 §10.2
connect_and_holes 성분 수 · 구멍 수 §12 T-15 G1 §5 §10.1
euler_number 성분 수 − 구멍 수 §13 T-16 G1 §6 §10.3
diameter_region 최대 지름과 두 극점 §14 T-17 G1 §4 §10.4

3.1 판정 · 리스크 바로가기

ID 내용 위치
P-1 contlength 체인 모델 (픽셀 중심 체인 확정) 정의서 C-1 · 검증 §5
P-2 convexityF_c 단위 (hull 픽셀 개수 확정) 정의서 CV-1 · 검증 §5
P-3 contlength 구멍 제외 (외곽만 확정) 정의서 §2.2 · 원문 G1 §3
R-1 체인 닫힘 1스텝 (396 vs 395) 구현 노트 §6
R-2 4/8 이웃 설정 (8-이웃 고정) 구현 노트 §6
HC-1 배경 연결성 4 vs 8 — 뒤집히면 3종이 동시에 바뀐다 정의서 §11.5 · 검증 §5C · 구현 노트 §10.1
HC-3 구멍 면적을 리전 전체로 세는가 (S12: 40 vs 49) 정의서 §11.5 · 검증 §5C
DR-2 최대거리 쌍 동률 (사전순 최소로 고정) 정의서 §14.6 · 검증 T-17

4. 원문 아카이브 구성 (G1~G5 · 40종)

전체 목록과 단계별 상태는 reference/halcon13/README.md 에 있습니다.

파일 그룹 담긴 오퍼레이터 종수 줄 수
G1_basic_size.md 기본 / 크기 area_center area_holes contlength diameter_region connect_and_holes euler_number get_region_thickness region_features 8 483
G2_shape_factors.md 형상 계수 circularity compactness convexity rectangularity roundness eccentricity elliptic_axis orientation_region 8 392
G3_geometry_runlength.md 외접 / 내접 / 런렝스 inner_circle inner_rectangle1 smallest_circle smallest_rectangle1 smallest_rectangle2 runlength_distribution runlength_features 7 303
G4_moments.md 모멘트 moments_region_2nd moments_region_2nd_invar moments_region_2nd_rel_invar moments_region_3rd moments_region_3rd_invar moments_region_central moments_region_central_invar 7 448
G5_select_relation.md 선택 / 관계 select_shape select_shape_proto select_shape_std select_region_spatial spatial_relation hamming_distance hamming_distance_norm find_neighbors get_region_index select_region_point 10 468

⚠ 아카이브의 수식은 MVTec 문서의 MetaPost 인라인 SVG 글리프를 디코딩해 복원한 것입니다. 다시 웹에서 긁으면 수식이 누락되거나 분자·분모가 뒤집힙니다. 이 아카이브를 신뢰하고 쓰세요 (CLAUDE.md §2.4).


🏠 홈 | 다음: 개요 →