Skip to main content

🚗 āļĢāļ°āļšāļš OCR āļŠāļģāļŦāļĢāļąāļšāļ­āđˆāļēāļ™āļ›āđ‰āļēāļĒāļ—āļ°āđ€āļšāļĩāļĒāļ™āļĢāļ–āļĒāļ™āļ•āđŒ (LPR)

🚗 Thai Vehicle License Plate OCR

Version Status New

āļĒāļīāļ™āļ”āļĩāļ•āđ‰āļ­āļ™āļĢāļąāļšāļŠāļđāđˆ Thai Vehicle License Plate OCR API āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 2.0 āļœāļĨāļīāļ•āļ āļąāļ“āļ‘āđŒ AI āļ—āļĩāđˆāļžāļąāļ’āļ™āļēāđ‚āļ”āļĒ āļšāļĢāļīāļĐāļąāļ— āđ„āļ­āđāļ­āļžāļžāđŒāđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩ āļˆāļģāļāļąāļ” API āļ‚āļ­āļ‡āđ€āļĢāļēāļ­āļ­āļāđāļšāļšāļĄāļēāđ€āļžāļ·āđˆāļ­āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļĄāļēāļĒāđ€āļĨāļ‚āļ—āļ°āđ€āļšāļĩāļĒāļ™āļĢāļ–āđāļĨāļ°āļ‚āđ‰āļ­āļĄāļđāļĨāļĢāļ–āļĒāļ™āļ•āđŒāļˆāļēāļāļĢāļđāļ›āļ āļēāļžāļ”āđ‰āļ§āļĒāļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāđāļĨāļ°āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āļŠāļđāļ‡ API āļĢāļ­āļ‡āļĢāļąāļšāļĢāļđāļ›āđāļšāļšāđ„āļŸāļĨāđŒ JPEG, JPG, PNG āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļĢāļđāļ›āļ āļēāļžāļĢāļ–āļĒāļ™āļ•āđŒāđ„āļ”āđ‰āļ āļēāļĒāđƒāļ™ 1-2 āļ§āļīāļ™āļēāļ—āļĩ

āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđƒāļŠāđ‰āļ‡āļēāļ™â€‹

  1. āļ‚āđ‰āļ­āļāļģāļŦāļ™āļ”āđ€āļšāļ·āđ‰āļ­āļ‡āļ•āđ‰āļ™

    • API key āļˆāļēāļ āđ„āļ­āđāļ­āļžāļžāđŒāđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩ
    • āļĢāļđāļ›āļ āļēāļžāļĢāļ–āļĒāļ™āļ•āđŒāļ—āļĩāđˆāļĄāļĩāļ›āđ‰āļēāļĒāļ—āļ°āđ€āļšāļĩāļĒāļ™
    • āļĢāļđāļ›āđāļšāļšāđ„āļŸāļĨāđŒāļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļš: JPEG, JPG, PNG
    • āļ‚āļ™āļēāļ”āđ„āļŸāļĨāđŒāļŠāļđāļ‡āļŠāļļāļ”: 2MB
  2. āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ­āļĒāđˆāļēāļ‡āļĢāļ§āļ”āđ€āļĢāđ‡āļ§

    • āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ—āļĩāđˆāļĢāļ§āļ”āđ€āļĢāđ‡āļ§ (1-2 āļ§āļīāļ™āļēāļ—āļĩāļ•āđˆāļ­āļ āļēāļž)
    • āļāļēāļĢāļ”āļķāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāļĄāļĩāļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļŠāļđāļ‡ (āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāđ‚āļ”āļĒāļĢāļ§āļĄ 92.28%)
    • āļĢāļ­āļ‡āļĢāļąāļšāļŦāļĨāļēāļĒāļĒāļĩāđˆāļŦāđ‰āļ­āđāļĨāļ°āļ›āļĢāļ°āđ€āļ āļ—āļĢāļ–āļĒāļ™āļ•āđŒ
  3. āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļŦāļĨāļąāļ

    • āļāļēāļĢāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ•āđˆāļēāļ‡āđ† āļĢāļ§āļĄāļ–āļķāļ‡:
      • āļŦāļĄāļēāļĒāđ€āļĨāļ‚āļ—āļ°āđ€āļšāļĩāļĒāļ™āļĢāļ–
      • āļĒāļĩāđˆāļŦāđ‰āļ­āļĢāļ–
      • āļ›āļĢāļ°āđ€āļ āļ—āļĢāļ–
      • āļŠāļĩāļĢāļ–
      • āļˆāļąāļ‡āļŦāļ§āļąāļ”āļ—āļĩāđˆāļˆāļ”āļ—āļ°āđ€āļšāļĩāļĒāļ™
    • āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāļĢāļ–āļĒāļ™āļ•āđŒ
    • āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāļ›āđ‰āļēāļĒāļ—āļ°āđ€āļšāļĩāļĒāļ™āļ—āļĩāđˆāļŦāļēāļĒāđ„āļ›
    • āļĢāļđāļ›āđāļšāļšāļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡ JSON āļ—āļĩāđˆāļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™
  4. āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāđāļĨāļ°āļāļēāļĢāļ›āļāļīāļšāļąāļ•āļīāļ•āļēāļĄāļāļŽāļĢāļ°āđ€āļšāļĩāļĒāļš

    • āļ›āļāļīāļšāļąāļ•āļīāļ•āļēāļĄ GDPR āđāļĨāļ° PDPA
    • āđ„āļĄāđˆāļĄāļĩāļāļēāļĢāđ€āļāđ‡āļšāļĢāļąāļāļĐāļēāļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļĨāļąāļ‡āļˆāļēāļāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ
āļ§āļīāļ˜āļĩāļĢāļąāļš API Key?

āļāļĢāļļāļ“āļēāđ€āļĒāļĩāđˆāļĒāļĄāļŠāļĄ API Portal āđ€āļžāļ·āđˆāļ­āļ”āļđ API key āļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāļ‚āļ­āļ‡āļ„āļļāļ“āļŦāļĢāļ·āļ­āļ‚āļ­ API key āđƒāļŦāļĄāđˆ

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡â€‹

1. āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļˆāļĢāļīāļ‡āļāļąāļšāļĢāļ–āļĒāļ™āļ•āđŒâ€‹

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ—āļĩāđˆ 1

Vehicle

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ—āļĩāđˆ 2

Vehicle

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ—āļĩāđˆ 3

Vehicle

2. āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ„āļŸāļĨāđŒāļĢāļ–āļĒāļ™āļ•āđŒâ€‹

Vehicle

āļ„āļģāļ‚āļ­â€‹

curl --location 'https://api.iapp.co.th/license-plate-recognition/file' \
--header 'apikey: {YOUR API KEY}' \
--form 'file=@"{YOUR UPLOADED FILE}"'

āļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡â€‹

{
"conf": 93.30192566,
"country": "th",
"infer_time(s)": 0.18,
"is_missing_plate": "no",
"is_vehicle": "yes",
"lp_number": "āļāļĢ5539",
"message": "success",
"province": "th-14:Phra Nakhon Si Ayutthaya (āļžāļĢāļ°āļ™āļ„āļĢāļĻāļĢāļĩāļ­āļĒāļļāļ˜āļĒāļē)",
"status": 200,
"vehicle_body_type": "tractor-trailer",
"vehicle_brand": "honda",
"vehicle_color": "white",
"vehicle_model": "honda_jazz",
"vehicle_orientation": "135",
"vehicle_year": "2010-2014"
}

āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāđāļĨāļ°āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–​

āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļŦāļĨāļąāļâ€‹

  • āļāļēāļĢāļˆāļ”āļˆāļģāļ›āđ‰āļēāļĒāļ—āļ°āđ€āļšāļĩāļĒāļ™: āļ”āļķāļ‡āđāļĨāļ°āļ­āđˆāļēāļ™āļŦāļĄāļēāļĒāđ€āļĨāļ‚āļ—āļ°āđ€āļšāļĩāļĒāļ™āļĢāļ–āđ„āļ—āļĒāļˆāļēāļāļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđāļĄāđˆāļ™āļĒāļģ
  • āļ‚āđ‰āļ­āļĄāļđāļĨāļĢāļ–āļĒāļ™āļ•āđŒāļ—āļĩāđˆāļ„āļĢāļ­āļšāļ„āļĨāļļāļĄ: āļĢāļ°āļšāļļāđāļĨāļ°āđƒāļŦāđ‰āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ•āđˆāļēāļ‡āđ† āđ€āļŠāđˆāļ™:
    • āļŦāļĄāļēāļĒāđ€āļĨāļ‚āļ—āļ°āđ€āļšāļĩāļĒāļ™āļĢāļ–
    • āļˆāļąāļ‡āļŦāļ§āļąāļ”āļ—āļĩāđˆāļˆāļ”āļ—āļ°āđ€āļšāļĩāļĒāļ™
    • āļĒāļĩāđˆāļŦāđ‰āļ­āļĢāļ–
    • āļĢāļļāđˆāļ™āļĢāļ–
    • āļ›āļĩāļ—āļĩāđˆāļœāļĨāļīāļ•
    • āļ—āļīāļĻāļ—āļēāļ‡āļ‚āļ­āļ‡āļĢāļ– (āļ”āđ‰āļēāļ™āļŦāļ™āđ‰āļē āļ”āđ‰āļēāļ™āļ‚āđ‰āļēāļ‡ āļ”āđ‰āļēāļ™āļŦāļĨāļąāļ‡)
    • āļ›āļĢāļ°āđ€āļ āļ—āļĢāļ– (āđ€āļŠāđˆāļ™ āļĢāļ–āđ€āļāđ‹āļ‡ āļĢāļ– SUV āļĢāļ–āļšāļĢāļĢāļ—āļļāļ)
  • āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļŠāļđāļ‡: āđƒāļŠāđ‰āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļ§āļīāļ˜āļĩāļāļēāļĢāļĄāļ­āļ‡āđ€āļŦāđ‡āļ™āļ”āđ‰āļ§āļĒāļ„āļ­āļĄāļžāļīāļ§āđ€āļ•āļ­āļĢāđŒāļ‚āļąāđ‰āļ™āļŠāļđāļ‡āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļāļēāļĢāļˆāļ”āļˆāļģāļ—āļĩāđˆāđāļĄāđˆāļ™āļĒāļģāđāļĄāđ‰āđƒāļ™āļŠāļ āļēāļžāđāļŠāļ‡āđāļĨāļ°āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļ—āļĩāđˆāļ—āđ‰āļēāļ—āļēāļĒ

āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļšâ€‹

  • āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđāļšāļšāđ€āļĢāļĩāļĒāļĨāđ„āļ—āļĄāđŒ: āđ€āļŦāļĄāļēāļ°āļŠāļģāļŦāļĢāļąāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āđ€āļ§āļĨāļē āđ€āļŠāđˆāļ™ āļāļēāļĢāđ€āļāđ‡āļšāļ„āđˆāļēāļœāđˆāļēāļ™āļ—āļēāļ‡āđāļĨāļ°āļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄāļĢāļ–āļĒāļ™āļ•āđŒ
  • āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđāļšāļšāļāļĨāļļāđˆāļĄ: āļˆāļąāļ”āļāļēāļĢāļĢāļđāļ›āļ āļēāļžāļŦāļĨāļēāļĒāļ āļēāļžāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļŠāļģāļŦāļĢāļąāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ‚āļ™āļēāļ”āđƒāļŦāļāđˆ
  • āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļ™āļāļēāļĢāļ›āļĢāļąāļšāļ•āļąāļ§āļ•āđˆāļ­āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄ: āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ™āđˆāļēāđ€āļŠāļ·āđˆāļ­āļ–āļ·āļ­āđƒāļ™āļŠāļ–āļēāļ™āļāļēāļĢāļ“āđŒāļ•āđˆāļēāļ‡āđ† āļĢāļ§āļĄāļ–āļķāļ‡āļŠāļ āļēāļžāđāļŠāļ‡āļ™āđ‰āļ­āļĒāđāļĨāļ°āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļ—āļĩāđˆāļĄāļĩāđāļŠāļ‡āļˆāđ‰āļē

āļāļĢāļ“āļĩāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™â€‹

  • āļāļēāļĢāđ€āļāđ‡āļšāļ„āđˆāļēāļœāđˆāļēāļ™āļ—āļēāļ‡āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī: āļ—āļģāđƒāļŦāđ‰āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļŠāļģāļĢāļ°āļ„āđˆāļēāļœāđˆāļēāļ™āļ—āļēāļ‡āđ€āļ›āđ‡āļ™āđ„āļ›āļ­āļĒāđˆāļēāļ‡āļĢāļēāļšāļĢāļ·āđˆāļ™āđ‚āļ”āļĒāļāļēāļĢāļˆāļ”āļˆāļģāļĢāļ–āļĒāļ™āļ•āđŒāđāļĨāļ°āļ›āđ‰āļēāļĒāļ—āļ°āđ€āļšāļĩāļĒāļ™āđāļšāļšāđ€āļĢāļĩāļĒāļĨāđ„āļ—āļĄāđŒ
  • āļĢāļ°āļšāļšāļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ—āļĩāđˆāļˆāļ­āļ”āļĢāļ–: āļ—āļģāđƒāļŦāđ‰āļāļēāļĢāļšāļąāļ™āļ—āļķāļāļāļēāļĢāđ€āļ‚āđ‰āļēāđāļĨāļ°āļ­āļ­āļāļ‚āļ­āļ‡āļĢāļ–āļĒāļ™āļ•āđŒāđƒāļ™āļŠāļ–āļēāļ™āļ—āļĩāđˆāļˆāļ­āļ”āļĢāļ–āđ€āļ›āđ‡āļ™āđ„āļ›āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī
  • āļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄāļĢāļ–āļĒāļ™āļ•āđŒ: āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āđ‚āļĨāļˆāļīāļŠāļ•āļīāļāļŠāđŒāđāļĨāļ°āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļāļđāļ‡āļšāļīāļ™āđ‚āļ”āļĒāļāļēāļĢāļĢāļ§āļĄāļāļēāļĢāļˆāļ”āļˆāļģāļ›āđ‰āļēāļĒāļ—āļ°āđ€āļšāļĩāļĒāļ™āđ€āļžāļ·āđˆāļ­āļĢāļ°āļšāļļāļ•āļąāļ§āļĢāļ–
  • āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāđāļĨāļ°āļāļēāļĢāđ€āļāđ‰āļēāļĢāļ°āļ§āļąāļ‡: āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļĢāļ°āļšāļšāļĢāļąāļāļĐāļēāļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāļ”āđ‰āļ§āļĒāļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄāđāļĨāļ°āļĢāļ°āļšāļļāļ•āļąāļ§āļĢāļ–

āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄâ€‹

  • āļāļēāļĢāļœāļŠāļēāļ™āļĢāļ§āļĄāļ—āļĩāđˆāļ‡āđˆāļēāļĒ: āļĄāļĩ API āđāļšāļš RESTful āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļœāļŠāļēāļ™āļĢāļ§āļĄāđ€āļ‚āđ‰āļēāļāļąāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĢāļēāļšāļĢāļ·āđˆāļ™
  • āļĢāļ§āļ”āđ€āļĢāđ‡āļ§āđāļĨāļ°āđ€āļŠāļ·āđˆāļ­āļ–āļ·āļ­āđ„āļ”āđ‰: āđƒāļŦāđ‰āđ€āļ§āļĨāļēāļ•āļ­āļšāļŠāļ™āļ­āļ‡āļ—āļĩāđˆāļĢāļ§āļ”āđ€āļĢāđ‡āļ§āđāļĨāļ°āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļ—āļĩāđˆāļŠāļĄāđˆāļģāđ€āļŠāļĄāļ­āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļˆāļĢāļīāļ‡
  • āļŠāļēāļĄāļēāļĢāļ–āļ‚āļĒāļēāļĒāđāļĨāļ°āļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āđ„āļ”āđ‰: āļĢāļ­āļ‡āļĢāļąāļšāļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāđāļĨāļ°āļāļēāļĢāļ‚āļĒāļēāļĒāđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄāļ•āļēāļĄāļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŠāđ‰āļ—āļĩāđˆāļžāļąāļ’āļ™āļēāļ‚āļķāđ‰āļ™

āļ‚āđ‰āļ­āļĄāļđāļĨāļ­āđ‰āļēāļ‡āļ­āļīāļ‡ API​

āļˆāļļāļ”āļŠāļīāđ‰āļ™āļŠāļļāļ”​

POST https://api.iapp.co.th/license-plate-recognition/file

āļŠāđˆāļ§āļ™āļŦāļąāļ§â€‹

āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
apikeyStringAPI Key

āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒâ€‹

āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āđƒāļ™āļˆāļģāđ€āļ›āđ‡āļ™āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
vehicle_imageobjectbodyYesāļĢāļđāļ›āļ āļēāļžāļ—āļĩāđˆāļĄāļĩāļĢāļ–āļĒāļ™āļ•āđŒ

āļ„āļģāļ­āļ˜āļīāļšāļēāļĒāļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡â€‹

āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒāļ„āļģāļ­āļ˜āļīāļšāļēāļĒ
confāļ„āļ°āđāļ™āļ™āļ„āļ§āļēāļĄāļĄāļąāđˆāļ™āđƒāļˆāļ‚āļ­āļ‡āļāļēāļĢāļˆāļ”āļˆāļģāļ›āđ‰āļēāļĒāļ—āļ°āđ€āļšāļĩāļĒāļ™āđ€āļ›āđ‡āļ™āđ€āļ›āļ­āļĢāđŒāđ€āļ‹āđ‡āļ™āļ•āđŒ
infer_time(s)āđ€āļ§āļĨāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāļ­āļ™āļļāļĄāļēāļ™āđ€āļ›āđ‡āļ™āļ§āļīāļ™āļēāļ—āļĩ
is_missing_plateāļĢāļ°āļšāļļāļ§āđˆāļēāļĄāļĩāļ›āđ‰āļēāļĒāļ—āļ°āđ€āļšāļĩāļĒāļ™āļŦāļēāļĒāđ„āļ›āđƒāļ™āļĢāļđāļ›āļ āļēāļžāļŦāļĢāļ·āļ­āđ„āļĄāđˆ āļ„āđˆāļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āđ„āļ›āđ„āļ”āđ‰: "yes" āļŦāļĢāļ·āļ­ "no"
is_vehicleāļĢāļ°āļšāļļāļ§āđˆāļēāļĄāļĩāļĢāļ–āļĒāļ™āļ•āđŒāļ­āļĒāļđāđˆāđƒāļ™āļĢāļđāļ›āļ āļēāļžāļŦāļĢāļ·āļ­āđ„āļĄāđˆ āļ„āđˆāļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āđ„āļ›āđ„āļ”āđ‰: "yes" āļŦāļĢāļ·āļ­ "no"
lp_numberāļŦāļĄāļēāļĒāđ€āļĨāļ‚āļ—āļ°āđ€āļšāļĩāļĒāļ™āļĢāļ–āļ—āļĩāđˆāļˆāļ”āļˆāļģāđ„āļ”āđ‰āļˆāļēāļāļĢāļđāļ›āļ āļēāļž
messageāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡āļ‚āļ­āļ‡ API āļ„āđˆāļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āđ„āļ›āđ„āļ”āđ‰: "success" āļŦāļĢāļ·āļ­ "error"
provinceāļˆāļąāļ‡āļŦāļ§āļąāļ”āļ—āļĩāđˆāļĢāļ–āļĒāļ™āļ•āđŒāļˆāļ”āļ—āļ°āđ€āļšāļĩāļĒāļ™āļ•āļēāļĄāļ—āļĩāđˆāļĢāļ°āļšāļļāđ‚āļ”āļĒāļ›āđ‰āļēāļĒāļ—āļ°āđ€āļšāļĩāļĒāļ™
statusāļĢāļŦāļąāļŠāļŠāļ–āļēāļ™āļ° HTTP āļ‚āļ­āļ‡āļāļēāļĢāļ•āļ­āļšāļŠāļ™āļ­āļ‡ API
vehicle_body_typeāļ›āļĢāļ°āđ€āļ āļ—āļ•āļąāļ§āļ–āļąāļ‡āļ‚āļ­āļ‡āļĢāļ–āļ—āļĩāđˆāļˆāļ”āļˆāļģāđ„āļ”āđ‰
vehicle_brandāļĒāļĩāđˆāļŦāđ‰āļ­āļ‚āļ­āļ‡āļĢāļ–āļ—āļĩāđˆāļˆāļ”āļˆāļģāđ„āļ”āđ‰
vehicle_colorāļŠāļĩāļ‚āļ­āļ‡āļĢāļ–āļ—āļĩāđˆāļˆāļ”āļˆāļģāđ„āļ”āđ‰
vehicle_modelāļĢāļļāđˆāļ™āļ‚āļ­āļ‡āļĢāļ–āļ—āļĩāđˆāļˆāļ”āļˆāļģāđ„āļ”āđ‰
vehicle_orientationāļ—āļīāļĻāļ—āļēāļ‡āļ‚āļ­āļ‡āļĢāļ–āļ—āļĩāđˆāļˆāļ”āļˆāļģāđ„āļ”āđ‰āđƒāļ™āļĢāļđāļ›āļ āļēāļž
vehicle_yearāļŠāđˆāļ§āļ‡āļ›āļĩāļ‚āļ­āļ‡āļĢāļļāđˆāļ™āļĢāļ–āļ—āļĩāđˆāļˆāļ”āļˆāļģāđ„āļ”āđ‰

āļĢāļēāļ„āļē​

āļŠāļ·āđˆāļ­āļšāļĢāļīāļāļēāļĢ AI APIāļˆāļļāļ”āļŠāļīāđ‰āļ™āļŠāļļāļ”IC āļ•āđˆāļ­āļ„āļģāļ‚āļ­On-Premise
Thai Vehicle License Plate Image Recognition (LPR)iapp_license_plate_recognition_v1_base640.75 IC/Requestāļ•āļīāļ”āļ•āđˆāļ­
iapp_license_plate_recognition_v1_file0.75 IC/Request

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ‚āļ„āđ‰āļ”​

Python​

import requests

url = "https://api.iapp.co.th/license-plate-recognition/file"

payload = {}
files=[
('file',('{YOUR UPLOADED FILE NAME}',open('{YOUR UPLOADED FILE PATH}','rb'),'image/png'))
]
headers = {
'apikey': {YOUR API KEY}
}

response = requests.request("POST", url, headers=headers, data=payload, files=files)

print(response.text)

JavaScript​

const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');
let data = new FormData();
data.append('file', fs.createReadStream('{YOUR UPLOADED FILE PATH}'));

let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://api.iapp.co.th/license-plate-recognition/file',
headers: {
'apikey': '{YOUR API KEY}',
...data.getHeaders()
},
data : data
};

axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});

PHP​

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.iapp.co.th/license-plate-recognition/file',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('file'=> new CURLFILE('{YOUR UPLOADED FILE PATH}')),
CURLOPT_HTTPHEADER => array(
'apikey: {YOUR API KEY}'
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Swift​

let parameters = [
[
"key": "file",
"src": "{YOUR UPLOADED FILE PATH}",
"type": "file"
]] as [[String: Any]]

let boundary = "Boundary-\(UUID().uuidString)"
var body = Data()
var error: Error? = nil
for param in parameters {
if param["disabled"] != nil { continue }
let paramName = param["key"]!
body += Data("--\(boundary)\r\n".utf8)
body += Data("Content-Disposition:form-data; name=\"\(paramName)\"".utf8)
if param["contentType"] != nil {
body += Data("\r\nContent-Type: \(param["contentType"] as! String)".utf8)
}
let paramType = param["type"] as! String
if paramType == "text" {
let paramValue = param["value"] as! String
body += Data("\r\n\r\n\(paramValue)\r\n".utf8)
} else {
let paramSrc = param["src"] as! String
let fileURL = URL(fileURLWithPath: paramSrc)
if let fileContent = try? Data(contentsOf: fileURL) {
body += Data("; filename=\"\(paramSrc)\"\r\n".utf8)
body += Data("Content-Type: \"content-type header\"\r\n".utf8)
body += Data("\r\n".utf8)
body += fileContent
body += Data("\r\n".utf8)
}
}
}
body += Data("--\(boundary)--\r\n".utf8);
let postData = body


var request = URLRequest(url: URL(string: "https://api.iapp.co.th/license-plate-recognition/file")!,timeoutInterval: Double.infinity)
request.addValue("{YOUR API KEY}", forHTTPHeaderField: "apikey")
request.addValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")

request.httpMethod = "POST"
request.httpBody = postData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data else {
print(String(describing: error))
return
}
print(String(data: data, encoding: .utf8)!)
}

task.resume()

Kotlin​

val client = OkHttpClient()
val mediaType = "text/plain".toMediaType()
val body = MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file","{YOUR UPLOADED FILE NAME}",
File("{YOUR UPLOADED FILE PATH}").asRequestBody("application/octet-stream".toMediaType()))
.build()
val request = Request.Builder()
.url("https://api.iapp.co.th/license-plate-recognition/file")
.post(body)
.addHeader("apikey", "{YOUR API KEY}")
.build()
val response = client.newCall(request).execute()

Java​

OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file","{YOUR UPLOADED FILE NAME}",
RequestBody.create(MediaType.parse("application/octet-stream"),
new File("{YOUR UPLOADED FILE PATH}")))
.build();
Request request = new Request.Builder()
.url("https://api.iapp.co.th/license-plate-recognition/file")
.method("POST", body)
.addHeader("apikey", "{YOUR API KEY}")
.build();
Response response = client.newCall(request).execute();

Dart​

var headers = {
'apikey': '{YOUR API KEY}'
};
var request = http.MultipartRequest('POST', Uri.parse('https://api.iapp.co.th/license-plate-recognition/file'));
request.files.add(await http.MultipartFile.fromPath('file', '{YOUR UPLOADED FILE PATH}'));
request.headers.addAll(headers);

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
print(await response.stream.bytesToString());
}
else {
print(response.reasonPhrase);
}

āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāđāļĨāļ°āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžâ€‹

āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 1.2 (2022-01-16)​

āļāļēāļĢāļ›āļĢāļ°āđ€āļĄāļīāļ™āđāļšāļšāļˆāļģāļĨāļ­āļ‡āļ•āļēāļĄāļ‚āđ‰āļ­āļĄāļđāļĨāļ āļēāļžāļĢāļ–āļĒāļ™āļ•āđŒāļ‚āļ­āļ‡ iApp (100 āļ āļēāļž)

āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļ™

āđāļšāļšāļˆāļģāļĨāļ­āļ‡āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģ (%)
āđāļšāļšāļˆāļģāļĨāļ­āļ‡āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāļĢāļ–āļĒāļ™āļ•āđŒ99.00%
āđāļšāļšāļˆāļģāļĨāļ­āļ‡āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāļ›āđ‰āļēāļĒāļ—āļ°āđ€āļšāļĩāļĒāļ™āļĢāļ–āļĒāļ™āļ•āđŒ99.00%
āđāļšāļšāļˆāļģāļĨāļ­āļ‡āļāļēāļĢāļˆāļ”āļˆāļģāļ•āļąāļ§āļ­āļąāļāļĐāļĢāđāļĨāļ°āļ•āļąāļ§āđ€āļĨāļ‚āļšāļ™āļ›āđ‰āļēāļĒāļ—āļ°āđ€āļšāļĩāļĒāļ™97.00%
āđāļšāļšāļˆāļģāļĨāļ­āļ‡āļˆāļąāļ‡āļŦāļ§āļąāļ”āļšāļ™āļ›āđ‰āļēāļĒāļ—āļ°āđ€āļšāļĩāļĒāļ™99.00%
āļĒāļĩāđˆāļŦāđ‰āļ­āļĢāļ–95.00%
āļŠāļĩāļĢāļ–85.00%
āļĢāļļāđˆāļ™āļĢāļ–72.00%
āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāđ‚āļ”āļĒāļĢāļ§āļĄ92.28%

āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 1.1 (2021-12-23)​

āļāļēāļĢāļ›āļĢāļ°āđ€āļĄāļīāļ™āđāļšāļšāļˆāļģāļĨāļ­āļ‡āļ•āļēāļĄāļ‚āđ‰āļ­āļĄāļđāļĨāļ āļēāļžāļĢāļ–āļĒāļ™āļ•āđŒāļ‚āļ­āļ‡ iApp (118 āļ āļēāļž)​

āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļ™

āđāļšāļšāļˆāļģāļĨāļ­āļ‡āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģ (%)
āđāļšāļšāļˆāļģāļĨāļ­āļ‡āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāļĢāļ–āļĒāļ™āļ•āđŒ96.40%
āđāļšāļšāļˆāļģāļĨāļ­āļ‡āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāļ›āđ‰āļēāļĒāļ—āļ°āđ€āļšāļĩāļĒāļ™āļĢāļ–āļĒāļ™āļ•āđŒ95.65%
āđāļšāļšāļˆāļģāļĨāļ­āļ‡āļāļēāļĢāļˆāļ”āļˆāļģāļ•āļąāļ§āļ­āļąāļāļĐāļĢāđāļĨāļ°āļ•āļąāļ§āđ€āļĨāļ‚āļšāļ™āļ›āđ‰āļēāļĒāļ—āļ°āđ€āļšāļĩāļĒāļ™94.82%
āđāļšāļšāļˆāļģāļĨāļ­āļ‡āļˆāļąāļ‡āļŦāļ§āļąāļ”āļšāļ™āļ›āđ‰āļēāļĒāļ—āļ°āđ€āļšāļĩāļĒāļ™90.67%
āļĒāļĩāđˆāļŦāđ‰āļ­āļĢāļ–81.30%
āļŠāļĩāļĢāļ–80.50%
āļĢāļļāđˆāļ™āļĢāļ–66.10%
āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāđ‚āļ”āļĒāļĢāļ§āļĄ86.49%

āļ›āļĢāļ°āļ§āļąāļ•āļī/āļšāļąāļ™āļ—āļķāļāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡â€‹

āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 1.0 - 2021-09-12​

āđ€āļžāļīāđˆāļĄ

  • āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđāļĢāļāļ—āļĩāđˆāđāļ™āļ°āļ™āļģāļĢāļ°āļšāļšāļˆāļ”āļˆāļģāļ›āđ‰āļēāļĒāļ—āļ°āđ€āļšāļĩāļĒāļ™āļ‚āļ­āļ‡ iApp

  • āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ™āļĩāđ‰āļĒāļąāļ‡āđāļŠāļ”āļ‡āđƒāļŦāđ‰āđ€āļŦāđ‡āļ™āļ–āļķāļ‡āļāļēāļĢāļˆāļ”āļˆāļģāļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļ‚āļ­āļ‡āļĢāļ–āļĒāļ™āļ•āđŒ:

    • āļ›āļĢāļ°āđ€āļ āļ—āļĢāļ–
    • āļĒāļĩāđˆāļŦāđ‰āļ­āļĢāļ–
    • āļŠāļĩāļĢāļ–
    • āļˆāļąāļ‡āļŦāļ§āļąāļ”āļ—āļĩāđˆāļˆāļ”āļ—āļ°āđ€āļšāļĩāļĒāļ™āļ›āđ‰āļēāļĒāļ—āļ°āđ€āļšāļĩāļĒāļ™

    āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļ‚āļ­āļ‡āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļˆāļ°āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āđāļĨāļ°āđ€āļœāļĒāđāļžāļĢāđˆāļ­āļĒāđˆāļēāļ‡āđ€āļ›āđ‡āļ™āļ—āļēāļ‡āļāļēāļĢāđƒāļ™āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ•āđˆāļ­āđ„āļ›

āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 1.1 - 2021-12-23​

āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡

āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļ‚āļ­āļ‡āļžāļēāļĢāļēāļĄāļīāđ€āļ•āļ­āļĢāđŒāļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āļ‚āļ­āļ‡āļĢāļ°āļšāļš API āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡

  • āļŦāļĄāļēāļĒāđ€āļĨāļ‚āļ—āļ°āđ€āļšāļĩāļĒāļ™āļĢāļ–
  • āļˆāļąāļ‡āļŦāļ§āļąāļ”
  • āļ›āļĢāļ°āđ€āļ āļ—āļĢāļ–
  • āļŠāļĩāļĢāļ–
  • āļĒāļĩāđˆāļŦāđ‰āļ­āļĢāļ–
  • āļĢāļļāđˆāļ™āļĢāļ–

āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 1.2 - 2023-01-16​

āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāđ‚āļ”āļĒāļĢāļ§āļĄ

  • āļŦāļĄāļēāļĒāđ€āļĨāļ‚āļ—āļ°āđ€āļšāļĩāļĒāļ™āļĢāļ–
  • āļˆāļąāļ‡āļŦāļ§āļąāļ”
  • āļŠāļĩāļĢāļ–
  • āļĒāļĩāđˆāļŦāđ‰āļ­āļĢāļ–
  • āļĢāļļāđˆāļ™āļĢāļ–

āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ 2.0 - 2023-02-16​

āđ€āļžāļīāđˆāļĄāļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāđƒāļŦāļĄāđˆ

āđ„āļ”āđ‰āđ€āļžāļīāđˆāļĄāļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāđƒāļŦāļĄāđˆāļ”āļąāļ‡āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰:

  • āļ›āļĢāļ°āđ€āļ āļ—āļ•āļąāļ§āļ–āļąāļ‡āļĢāļ–
  • āļŠāđˆāļ§āļ‡āļ›āļĩāļ‚āļ­āļ‡āļĢāļ–
  • āļ—āļīāļĻāļ—āļēāļ‡āļ‚āļ­āļ‡āļĢāļ–āđƒāļ™āļ āļēāļž
  • āļ˜āļ‡āļĢāļ–āļĒāļ™āļ•āđŒ
  • āļ˜āļ‡āļ›āđ‰āļēāļĒāļ—āļ°āđ€āļšāļĩāļĒāļ™āļŦāļēāļĒ