VisioForge

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

일반적인 자체 구축 또는 클라우드 ANPRVisioForge 파이프라인의 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를 켜면 프레임이 상자와 텍스트를 다음 블록으로 전달합니다.

RTSPSourceBlock
LicensePlateRecognizerBlock
NullRendererBlock

자주 묻는 질문

비디오가 컴퓨터 밖으로 나가나요?▼
아니요. LicensePlateRecognizerBlock은 두 모델을 ONNX Runtime으로 프로세스 안에서 실행합니다. 클라우드 서비스도 API 키도 없으며, 프레임과 번호판 번호는 기기에 남습니다. 모델은 애플리케이션과 함께 배포하는 두 개의 .onnx 파일입니다.
어느 나라의 번호판을 읽을 수 있나요?▼
FastALPR 글로벌 인식 헤드는 미국과 90개 이상 국가를 지원하고, 별도의 유럽 헤드는 EU 번호판에 맞게 조정되었습니다. RecognitionModelPath를 해당 지역의 헤드로 지정하세요. 검출기는 둘 다 같습니다.
직접 모델을 학습시켜야 하나요?▼
아니요. 블록은 FastALPR YOLOv9-T 검출기와 fast-plate-ocr 인식 헤드를 그대로 사용합니다. 두 개의 .onnx 파일만 제공하면 되며, License Plate Recognition Demo에 포함되어 있습니다.
차량이 많은 복잡한 장면이나 멀리 있는 번호판은 어떤가요?▼
블록은 프레임당 최대 MaxDetections개(기본값 10)의 번호판을 알려 줍니다. 작거나 멀리 있는 번호판은 DetectionConfidenceThreshold를 낮추거나 카메라 화각을 더 가깝게 잡으세요. 매우 복잡한 장면에서는 앞단에 YOLOObjectDetectorBlock 같은 차량 검출기를 두어 먼저 차량을 잘라 낼 수 있습니다.
어떤 SDK가 필요한가요?▼
LicensePlateRecognizerBlock은 VisioForge.DotNet.Core.AI 패키지에 있습니다. 파이프라인을 직접 구성한다면 Media Blocks SDK .NET 파이프라인에서 사용하고, 앱이 이미 해당 엔진을 쓰고 있다면 Video_Processing_AddBlock으로 Video Capture SDK .NET의 VideoCaptureCoreX 또는 Media Player SDK .NET의 MediaPlayerCoreX에 추가하세요.
번호판은 개인정보인가요?▼
번호판은 GDPR 같은 개인정보 보호 규정에서 일반적으로 개인정보로 취급되며, 일부 관할권에는 ANPR 전용 규칙도 있습니다. 배포 전에 사용 사례에 맞게 검토하세요. 녹화에서 번호판을 읽는 대신 가리려면 PIIRedactionBlock이 같은 번호판 검출기로 흐림 또는 모자이크 처리를 합니다.