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

Elixir 예제

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

1. 엔진 파일 복사

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

2. 사전 요구사항

  1. Elixir 설치 (버전 1.12 이상 권장)

    Windows:

    # Chocolatey 사용
    choco install elixir
    
    # 또는 https://elixir-lang.org/install.html#windows 에서 다운로드
    

    Linux:

    # Ubuntu/Debian
    sudo apt-get install elixir
    
    # 또는 asdf 사용 (권장)
    asdf plugin add elixir
    asdf install elixir latest
    
  2. 설치 확인

    elixir --version
    

3. 빌드 및 실행

  1. Elixir 예제 디렉토리로 이동

    cd Elixir/anpr
    
  2. NIF 빌드 (네이티브 라이브러리)

    Windows:

    “x64 Native Tools Command Prompt for VS 2022”를 열어 cl/link가 PATH에 존재하도록 한 뒤:

    build_nif.bat
    

    위 스크립트는 다음을 수행합니다:

    • Erlang 설치 경로 자동 탐지
    • MSVC로 c_src/tsanpr_nif.c 컴파일
    • priv/tsanpr_nif.dll 생성

    참고: mix compileelixir_make를 통해 Windows에서 nmake를 호출하는 경우, Makefile.win이 자동으로 실행되며 내부에서 build_nif.bat를 호출해 Windows의 인용(quoting) 문제를 피합니다.

    Linux:

    make priv/tsanpr_nif.so
    
    • gcc로 c_src/tsanpr_nif.c 컴파일
    • priv/tsanpr_nif.so 생성
  3. 의존성 설치 및 Elixir 애플리케이션 컴파일

    mix deps.get
    mix compile
    
  4. 예제 실행

    # Mix로 실행
    mix run -e "ANPR.main()"
    
    # 또는 iex (대화형)
    iex -S mix
    iex> ANPR.main()
    

4. 참고사항

추가 구현 노트:

5. 기능

6. API 참조

TSANPR 모듈

TSANPR 모듈은 다음 함수들을 제공합니다:

초기화:

핵심 함수:

인식 옵션

출력 형식

7. 문제 해결

라이브러리 로딩 문제:

NIF 문제:

플랫폼별 문제: