C# 및 .NET 번호판 인식(ANPR/LPR)
IP 카메라, 웹캠, 동영상 파일에서 C#으로 차량 번호판을 읽습니다. LicensePlateRecognizerBlock은 각 번호판을 찾아 읽고 텍스트를 타임스탬프와 함께 알려 줍니다. 처리는 기기에서, 비디오를 미리 보고 녹화하고 스트리밍하는 바로 그 파이프라인 안에서 이루어집니다.
연 €500부터 · Lifetime 라이선스 €1,500부터
번호판 판독기는 자동차를 향한 범용 OCR이 아닙니다
자동 번호판 인식(ANPR, ALPR 또는 LPR이라고도 함)은 범용 OCR이 아닙니다. 범용 OCR은 프레임 안의 모든 간판, 스티커, 로고를 읽으며 어떤 텍스트가 번호판인지 알지 못합니다. ANPR에는 두 개의 모델이 필요합니다. 번호판을 찾는 검출기와 번호판 문자로 학습한 OCR 모델입니다. 프레임도 필요합니다. 카메라에서 디코딩하고, 하드웨어가 따라갈 수 있는 속도로 골라서, 라이브 비디오를 멈추지 않아야 합니다. VisioForge SDK에서 LicensePlateRecognizerBlock은 비디오 파이프라인의 블록입니다. SDK가 소스를 디코딩하고, 블록이 백그라운드 스레드에서 두 모델을 실행하며, 프레임은 계속해서 화면, 파일 또는 네트워크 스트림으로 흘러갑니다.
ANPR 직접 구축 또는 클라우드 API 호출 vs. LicensePlateRecognizerBlock
| 일반적인 자체 구축 또는 클라우드 ANPR | VisioForge 파이프라인의 LicensePlateRecognizerBlock | |
|---|---|---|
| 번호판 찾기 | 번호판 검출기를 찾거나 학습시키고, ONNX로 내보내고, 전처리와 후처리를 작성 | FastALPR YOLOv9-T 번호판 검출기(MIT), DetectionConfidenceThreshold 및 MaxDetections |
| 문자 읽기 | 프레임 안의 다른 모든 텍스트까지 읽는 범용 OCR | 번호판 전용 fast-plate-ocr 헤드. Text는 대문자로 변환되고 영숫자가 아닌 문자는 제거됩니다 |
| 카메라에서 프레임 가져오기 | 소스 종류마다 별도의 디코더나 프레임 그래버 | 모든 SDK 소스: RTSP IP 카메라, 웹캠, 동영상 파일 |
| 라이브 비디오를 부드럽게 유지 | 캡처 스레드에서 인식하면 스트림이 멈춤 | 인식은 백그라운드 워커에서 실행되며, 처리 중에 도착한 프레임은 건너뛰고 개수를 셉니다 |
| 여러 나라의 번호판 | 모델을 다시 학습하거나 공급자를 변경 | 미국과 90개 이상 국가용 글로벌 헤드와 EU 번호판용 유럽 헤드를 RecognitionModelPath로 선택 |
| 비디오가 가는 곳 | 프레임을 클라우드 서비스로 보내고 호출당 과금 | 어디로도 가지 않습니다. ONNX Runtime이 프로세스 안에서 실행되며, API 키도 호출당 요금도 없습니다 |
ANPR 블록이 제공하는 것
LicensePlateRecognizerBlock은 VisioForge.DotNet.Core.AI 패키지에 포함되어 있습니다. 비디오 입력과 출력이 하나씩 있고, 받은 프레임에서 두 개의 ONNX 모델을 실행하며, OnPlateRecognized 이벤트로 번호판을 알려 줍니다.
- 2단계 인식: YOLOv9-T 검출기가 번호판을 찾고, 잘라 낸 각 번호판을 번호판 전용 OCR 모델이 읽습니다. 둘 다 MIT 라이선스의 FastALPR 모델입니다
- 번호판별 전체 결과: Text, Confidence(0~1), BoundingBox, 원본 프레임 픽셀 좌표의 4점 Polygon. 모든 이벤트에 프레임 Timestamp가 포함됩니다
- 지역별 헤드: 글로벌 헤드는 미국과 90개 이상 국가를, 유럽 헤드는 EU 번호판을 위해 조정되었습니다. 둘 다 라틴 문자(숫자와 A~Z)를 읽으며, 입력 크기는 모델 자체에서 읽습니다
- 기기에서 처리: Windows GPU에서는 DirectML, Apple 플랫폼에서는 CoreML, 폴백으로 CPU를 쓰는 ONNX Runtime. 사용 중인 공급자는 ActiveProvider로 알 수 있습니다
- 라이브 비디오는 부드럽게: 인식은 백그라운드 워커에서 실행되고, FramesToSkip으로 실행 빈도를 정하며, LastInferenceTimeMs와 DroppedFrameCount로 하드웨어가 따라가는지 확인합니다
- 인식과 녹화를 함께: DrawResults는 미리 보기, 파일 또는 스트림으로 이어지는 프레임에 번호판 상자와 텍스트를 그립니다
- 모든 엔진에 하나의 블록: Media Blocks SDK .NET 파이프라인에 연결하거나, Video_Processing_AddBlock으로 VideoCaptureCoreX 또는 MediaPlayerCoreX에 추가합니다
활용 분야
주차장 출입 및 결제
게이트 카메라에서 번호판을 인식해 차단기를 열거나 주차 세션을 시작합니다.
통행료 및 출입 통제 기록
고정 카메라 앞을 어떤 번호판이 언제 지나갔는지, 비디오를 현장에 둔 채 기록합니다.
차량 및 야드 관리
사유지나 차고지에 드나드는 차량을 추적합니다.
교통 검토 도구
수동 검토를 위해 번호판을 표시합니다. 최종 단속 결정에는 항상 사람의 확인이 포함되어야 합니다.
코드 예제
세 개의 FastALPR 모델 파일이 함께 제공되는 License Plate Recognition Demo를 바탕으로 했습니다. 두 번째 예제는 Capture OCR X 데모가 AI 블록을 추가하는 방식 그대로 VideoCaptureCoreX에 블록을 추가합니다.
게이트 카메라의 번호판 기록
C#IP 카메라 미리 보기, 번호판 목록 표시, MP4로 녹화
C#파이프라인
게이트 예제에서 LicensePlateRecognizerBlock은 카메라와 널 렌더러 사이에 있습니다. 번호판은 OnPlateRecognized 이벤트로 나가고, DrawResults를 켜면 프레임이 상자와 텍스트를 다음 블록으로 전달합니다.
자주 묻는 질문
비디오가 컴퓨터 밖으로 나가나요?▼
어느 나라의 번호판을 읽을 수 있나요?▼
직접 모델을 학습시켜야 하나요?▼
차량이 많은 복잡한 장면이나 멀리 있는 번호판은 어떤가요?▼
어떤 SDK가 필요한가요?▼
번호판은 개인정보인가요?▼
문서 및 샘플
번호판 인식 가이드
LicensePlateRecognizerBlock과 설정: 모델, 지역별 헤드, 각 설정과 기본값, 문제 해결.
License Plate Recognition Demo(WPF)
Media Blocks SDK .NET 샘플: 웹캠, 동영상 파일 또는 RTSP 카메라에서 ANPR, FastALPR 모델 포함.
VideoCaptureCoreX 및 MediaPlayerCoreX의 AI 블록
캡처 엔진과 플레이어 엔진에 처리 블록을 추가하는 방법: 삽입 순서와 수명 주기.
객체 감지
YOLOObjectDetectorBlock: 복잡한 장면에서 ANPR 앞단에 차량을 감지합니다.
개인정보 가림 처리
PIIRedactionBlock: 비디오 속 번호판, 얼굴, 화면 텍스트를 기기에서 흐리게 하거나 모자이크 처리합니다.
비디오 스트림 OCR
비디오 속 그 밖의 모든 텍스트(간판, 라벨, 자막, 화면 내용)에는 OcrBlock.
번호판 읽기 시작하기
모든 기능을 갖춘 30일 평가판을 다운로드하고 License Plate Recognition Demo를 실행하세요. 엔진과 출력에 따라 워터마크나 미등록 안내가 표시될 수 있습니다.
번호판 인식을 지원하는 SDK
Media Blocks SDK .NET
파이프라인 SDK: 임의의 소스와 렌더러, 인코더 또는 네트워크 출력 사이에 LicensePlateRecognizerBlock을 둡니다.
자세히 보기 →Video Capture SDK .NET
캡처 SDK: 블록을 VideoCaptureCoreX에 추가하고 미리 보기와 녹화를 하면서 카메라의 번호판을 읽습니다.
자세히 보기 →Media Player SDK .NET
플레이어 SDK: 블록을 MediaPlayerCoreX에 추가하고 재생하는 파일과 스트림의 번호판을 읽습니다.
자세히 보기 →연 €500부터 · Lifetime 라이선스 €1,500부터
