ocr_service sample application enables a service that provides the Optical Character Recognition (OCR) function.
It captures the image topic from the ROS system and publishes the result with the ocr_topic.
Pipeline flow for ocr_service
This figure shows the basic messages and data transfer channels, with the relevant client/server and ROS node.
Figure : The ocr_service pipeline
ROS nodes used in the ocr_service pipeline
ROS topics used in the ocr_service pipeline
| ROS topic | Message type | Published/Subscribed by | Description |
|---|---|---|---|
/image_topic_name | <sensor_msgs.msg.Image> | Subscribe to images from other nodes | The image to be processed. |
/ocr_image_topic_name | <std_msgs.msg.String> | Published by ocr-rosnode | Publishes the OCR result. |
Prerequisites
You have Set up the device according to Set up the environment for running sample applications.Run out-of-the-box ocr_service
-
Start three terminals, and run the following commands in each terminal to set up QIR SDK and ROS2 environment on the device.
Value range of
ROS_DOMAIN_ID: [0, 232] -
In terminal 1, launch
ocr_server. -
In terminal 2, push an image to the device and run the
ocr_testnode. -
In terminal 3, run the
ocr_client.You will see the following log:
Build and run ocr_service
- Build
ocr_msgandocr_serviceprovided by the QIR SDK on the host. - Push
ocr_msgandocr_serviceto the device. - Run
ocr_serviceon the device with the steps in Run out-of-the-box ocr_service.

