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

PHP 예제

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

1. 엔진 파일 복사

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

2. 사전 요구사항

  1. PHP 8.0 이상 및 필수 확장 프로그램 설치

    Ubuntu/Debian:

    # ondrej/php PPA 추가
    sudo apt-get update
    sudo apt-get install -y software-properties-common
    sudo add-apt-repository -y ppa:ondrej/php
    sudo apt-get update
    
    # PHP 및 필수 확장 프로그램 설치
    sudo apt-get install -y php8.2 php8.2-cli php8.2-imagick
    
    # php.ini에서 FFI 활성화
    sudo sed -i 's/;ffi.enable.*/ffi.enable=true/' /etc/php/8.2/cli/php.ini
    

    CentOS/RHEL/Fedora:

    sudo dnf install php php-cli php-pecl-imagick
    
    # php.ini에서 FFI 활성화
    sudo sed -i 's/;ffi.enable.*/ffi.enable=true/' /etc/php.ini
    

    macOS:

    brew install php imagemagick
    pecl install imagick
    
    # php.ini에서 FFI 활성화
    echo "ffi.enable=true" >> $(php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||")
    

    Windows:

    • https://windows.php.net/download/ 에서 PHP 다운로드
    • ImageMagick 및 php_imagick.dll 설치
    • php.ini에서 활성화:
      ffi.enable=true
      extension=imagick
      
  2. 설치 확인

    php --version
    php -m | grep -E "(FFI|imagick)"
    

3. 실행 방법

cd examples/PHP/anpr
php anpr.php

4. 기능

5. API 참조

TSANPR 클래스

class TSANPR {
    public function __construct(string $libraryPath);
    public function anprInitialize(string $mode): string;
    public function anprReadFile(string $imgFileName, string $outputFormat, string $options): string;
    public function anprReadPixels(string $pixels, int $width, int $height, int $stride,
                                   string $pixelFormat, string $outputFormat, string $options): string;
}

인식 옵션

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

출력 형식

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

6. 문제 해결

FFI가 로드되지 않음:

# FFI 상태 확인
php -i | grep -i ffi

# php.ini에서 FFI 활성화
ffi.enable=true

Imagick을 사용할 수 없음:

# Ubuntu/Debian
sudo apt-get install php8.2-imagick

# 확인
php -m | grep imagick