Skip to main content
Activity (Hands-On)Grades 9 - 12

Java Programming of OCR

Three images of the license plate number 4YCH428. The first image shows black letters on a gray background. Next, the background is white. Then, each letter/number has a red box around it.Automatic number plate recognition uses OCR to read vehicle plates. This license plate image has been de-skewed, sized, adjusted for brightness and contrast, and its individual characters segmented so it is ready for OCR.

Student groups use the Java programming language to implement the algorithms for optical character recognition (OCR) that they developed in the associated lesson. They use different Java classes (provided) to test and refine their algorithms. The ultimate goal is to produce computer code that recognizes a digit on a scoreboard. Through this activity, students experience a very small part of what software engineers go through to create robust OCR methods. This software design lesson/activity set is designed to be part of a Java programming class.

This hands-on activity provides students with experience in using the engineering design process (more specifically, the software design process; a specific application of the engineering design process) in a controlled environment. Design is a critical part of engineering. Engineers of all disciplines follow the steps of the design process to develop and improve solutions to real-world problems. Software engineers perform exactly the same process that students complete in the activity when they develop the software packages we use everyday. They define a problem, design solutions, implement those designs, test the implementation, and evolve the solutions.

After this activity, students should be able to:

  • Explain software testing and challenges involved in software testing.
  • Apply optical character recognition as a Java method.
  • Determine the reliability of their OCR implementations.

More Like This