일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- Gaussian
- digitalRead
- mfc
- public
- parameter
- Pointer
- subpixel
- Android
- wpf
- file access
- UNO
- aduino
- Gradient
- SERIAL
- edge
- Encapusulation
- stream
- Binary
- compare
- sensor
- Contour
- Read
- flutter
- Unity
- Filtering
- APP
- Class
- atmega328
- memory
- c++
- Today
- Total
목록2025/06/19 (10)
폴크(FOLC)
1D 신호에서 자동 CD 측정을 위한 최적 점수 조합 기반 알고리즘- Gradient Magnitude (강도)- Sharpness (2차 도함수 기반 집중도)- Noise Contrast Ratio (SNR 기반 신뢰도)- Pair Symmetry (± gradient 쌍의 균형)이를 바탕으로 가장 신뢰도 높은 edge 쌍을 찾아 subpixel 정밀도로 CD를 측정한다. 요약이미지 로딩 → 선택 row 프로파일 추출 → 1D gradient 및 score 계산 → subpixel edge 위치 보간 + 점수 평가 → 양/음 edge 쌍 찾기 → 점수 높은 쌍 선택 → CD 계산 및 출력 예제#include #include #include #include #include using namesp..
1차 중앙 차분(Central Difference) - 3개의 샘플만을 이용해서 처리고차 차분 기반 수치 미분- 3개 / 5개 / 7개 / Forward / Backward 등 정규화 마스크 기반 미분 (Sobel/Prewitt/Scharr 등)- Sobel / Prewitt / Scharr / Roberts 함수 피팅 기반 (Local Regression / Polynomial)- Savitzky–Golay 미분 필터 / Local Quadratic Fitting / Spline Derivatives 미분 필터 함수 기반 (선형 시스템 해석 기반)- Gaussian Derivative (DoG) / Difference of Gaussians (DoG) / Derivative of Gaussian Ker..
Gradient 기반 신뢰도 스코어링(gradient-based edge confidence scoring)**은 검출된 edge가 진짜 edge인지 아닌지를 판단하거나 subpixel edge의 신뢰도를 정량화할 때 매우 유용한 기법으로, CD 측정, 자동 edge 선택, 노이즈 필터링 등에 적용된다.Gradient magnitude : edge의 "강도(strength)" 또는 "확신도(confidence)"로 해석 가능 강한 edge : 큰 gradient → 확실한 밝기 변화 → 진짜 edge일 가능성 높음 약한 edge : 작은 gradient → noise, blur, 혹은 경계 아님 Confidence = |I(x+1) - I(x-1)| / 2 = |Gradient| 스코어링 기준값 예시≥..
1차 미분(gradient) 을 계산하는 중앙차분(Central Difference) 방식으로, edge를 찾는 핵심 수학적 기반 중 하나이며, 이해하면 edge 검출의 본질을 훨씬 명확하게 구현이 가능하다.수식은 아래와 같다.gradient ≈ (I(x+1) - I(x-1)) / 2 I(x+1) = 오른쪽 이웃 픽셀의 intensityI(x-1) = 왼쪽 이웃 픽셀의 intensity float gradient = 0.5f * (g_next - g_prev);
1D gradient 기반 edge 검출에 이어, parabola 보간을 이용한 subpixel 정밀도 위치 추정, 그리고 gradient 방향(양/음)을 통한 edge 방향성 분석까지 포함하는 정밀한 CD 측정 알고리즘 예제#include #include using namespace std; using namespace cv; enum class EdgeDirection { POSITIVE, NEGATIVE }; struct EdgePoint { float position; // subpixel 위치 EdgeDirection direction; // gradient 방향 }; // 파라볼라 보간으로 subpixel 위치 추정 float parabolaSu..
edge 방향을 탐지하는 것은 **gradient의 부호(sign)**를 기반으로 각 edge가 어떤 밝기 변화 방향으로 이동하는지를 판별하는 것입니다. 이는 **양의 gradient (dark → bright)**와 **음의 gradient (bright → dark)**를 구분함으로써, Line & Space 구조의 시작점/끝점, 혹은 선폭(CD) 측정의 정확한 기준 edge 구분이 가능하다개념: gradient의 부호로 edge 방향 구분G(x)=I(x+1)−I(x−1)G(x) = I(x+1) - I(x-1)G(x)=I(x+1)−I(x−1)G(x)>0G(x) > 0G(x)>0: 양의 gradient → 밝아지는 edge (dark → bright)G(x)G(x)0: 음의 gradient → 어두워지..
CD 측정 같은 선형 구조 분석에는 오히려 1D 프로파일 기반 edge 추출이 정확하고 제어 가능하며, subpixel 정밀도를 높일 수 있다.1D based edge detection - 한 줄의 intensity profile에서 경계점을 찾는 방식 (예: 특정 row 또는 column)- Subpixel 보간, 잡음 억제 용이, 정밀도 향상, 구조 선형성 이용 가능 - Line & Space 구조, mask/wafer CD 측정, 전자현미경 이미지 등 예제#include #include using namespace cv; using namespace std; // 1D derivative 계산 후 subpixel 보간으로 edge 위치 추정 vector findEdges1DWithSubpixe..
Edge line 전체에 대해 Least-Squares Line Fitting을 수행하면, 단순히 픽셀마다 edge를 추정하는 것이 아니라, 전체 edge 점들을 직선 또는 곡선으로 모델링하여 더 안정적이고 subpixel 수준의 CD(임계 치수) 측정이 가능하다.개념- 입력 : edge image / binary edge mask image- 처리 : edge point detect -> line fitting model : ax + by + c = 0- 출력 : line to line distance, line equation of each line #include #include using namespace std; using namespace cv; // 직선 피팅 함수 (OpenCV fitL..
Sub-pixel Edge Detection 기반의 고정밀 CD측정은 pixel-level 경계 검출의 한계를 넘어, 곡선 보간, Edge fitting, 또는 gradient interpolation 등을 이용하여 실제 구조의 경계선을 소수점 단위까지 정밀하게 추정하는 방법이다원리- Edge 검출: Sobel 또는 Canny로 초기 edge map 생성- Gradient interpolation: 엣지 픽셀 주변에서 1차 또는 2차 곡선을 피팅하여 정확한 edge 위치를 소수점 단위로 추정- Edge pair 매칭: 좌/우 또는 위/아래 edge 쌍을 찾아 거리 계산- 실측 크기 변환 (선택): pixel 단위를 μm 등으로 변환 예제#include #include using namespace cv..
치수를 측정하는 소프트웨어는 반도체 공정 등에서 매우 중요한 역할을 하며, 일반적으로 엣지 검출, 바이너리 마스크 처리, 프로파일 분석 등이 있다.목적- 이미지에서 관심 영역(ROI)을 지정한 후- 경계(edge)를 검출하여- 임계 치수를 측정(Critical Dimension, CD)하는 간단한 알고리즘 예제#include #include using namespace cv; using namespace std; // 임계 치수 측정 함수 double measureCD(const Mat& binary) { vector> contours; findContours(binary, contours, RETR_EXTERNAL, CHAIN_APPROX_SIMPLE); if (contours..