You can download the ROS image recognition package from GitHub; it's also available in the section's code bundle. The image_recognition.py program can publish detected results in the /result topic, which is of the std_msgs/String type and is subscribed to image data from the ROS camera driver from the /image (sensor_msgs/Image) topic.
So how does image_recognition.py work?
First take a look at the main modules imported to this node. As you know, rospy has ROS Python APIs. The ROS camera driver publishes ROS image messages, so here we have to import Image messages from sensor_msgs to handle those image messages. To convert a ROS image to the OpenCV data type and vice versa, we need cv_bridge and, of course, the ...