Skip to the content.
English 한국어 日本語 Tiếng Việt

V 예제

https://github.com/bobhyun/TS-ANPR/tree/main/examples/V/anpr

1. 엔진 파일 복사

[참고] 이 예제에서는 다른 예제들과 공유하기 위해 엔진 파일을 examples/bin/ 디렉토리에 압축 해제합니다. 하지만 실제 배포 시에는 일반적으로 애플리케이션의 실행 파일이 위치한 디렉토리에 엔진 파일을 복사합니다.

2. 사전 요구사항

  1. V 설치 (최신 버전 권장)

    Windows:

    # Scoop 사용
    scoop install vlang
    
    # 또는 미리 빌드된 바이너리 다운로드:
    # https://github.com/vlang/v/releases
    

    Linux:

    # 소스에서 클론하여 빌드
    git clone https://github.com/vlang/v
    cd v
    make
    sudo ./v symlink
    
  2. 설치 확인

    v version
    

3. 실행 방법

cd examples/V/anpr

# ANPR 예제 실행
v run .

다른 방법:

# 컴파일 후 별도로 실행
v .
./anpr        # Linux
anpr.exe      # Windows

# 최적화와 함께 컴파일
v -prod .

4. 기능

5. API 참조

TSANPR 모듈

tsanpr 모듈은 다음을 제공합니다:

// TSANPR 인스턴스 생성
pub fn new(library_path string) !TSANPR

// TSANPR 메서드
pub fn (mut t TSANPR) destroy()
pub fn (t &TSANPR) initialize(mode string) string
pub fn (t &TSANPR) read_file(img_file_name string, output_format string, options string) string
pub fn (t &TSANPR) read_pixels(pixels []u8, width u64, height u64, stride i64, pixel_format string, output_format string, options string) string

인식 옵션

옵션 설명
"" 단일 번호판 인식 (기본값)
"vm" 차량에 부착된 여러 번호판 인식
"vmb" 여러 번호판 인식 (오토바이 포함)
"vms" 서라운드 감지와 함께 인식
"dms" 여러 주변 객체 (차량) 감지
"dmsr" 객체 감지 및 번호판 인식
"dmsri<coords>" 관심 영역 내 인식

출력 형식

"text", "json", "yaml", "xml", "csv"

6. 구현 참고 사항

이 예제는 동적 라이브러리 로딩을 위해 V의 dl 모듈을 사용합니다:

동적 라이브러리 로딩:

V 통합:

픽셀 버퍼 처리: readPixelBuffer 함수는 이미지 디코딩을 위해 V의 내장 stbi 모듈(stb_image 래퍼)을 사용합니다. 이미지를 로드하고 원시 RGB 픽셀 데이터를 추출하여 적절한 픽셀 형식으로 anpr_read_pixels()에 전달합니다.

7. 문제 해결

컴파일 문제:

라이브러리 로딩 문제:

런타임 문제: