alpr_cam

Ruby gem for continuous license plate recognition from live camera streams using OpenALPR and GStreamer.

Usage

require "alpr_cam"

scanner = AlprCam::Scanner.new(
  device: "/dev/video0",
  interval: 1.0,
  country: "eu"
)

scanner.scan do |result|
  puts "#{result.plate} (#{result.confidence}%)"
  puts "Candidates: #{result.candidates}"
end

Options

Option Default Description
device "/dev/video0" V4L2 camera device path
interval 1.0 Seconds between captures
country "eu" ALPR country code
config "/etc/openalpr/openalpr.conf" OpenALPR config file path
top_n 10 Max candidate plates returned

Docker

Build and run with a camera device:

docker build -t alpr_cam .
docker run --device=/dev/video0 -it alpr_cam ruby -e "
  require 'alpr_cam'
  AlprCam::Scanner.new.scan { |r| puts r.plate }
"

Requirements

  • OpenALPR (compiled and installed)
  • GStreamer with gst-launch-1.0 and V4L2 support
  • Ruby >= 3.0

Testing

bundle exec rake test