Scanning an image with iterators
In object-oriented programming, looping over a data collection is usually done using iterators. Iterators are specialized classes that are built to go over each element of a collection, hiding how the iteration over each element is specifically done for a given collection. This application of the information-hiding principle makes scanning a collection easier and safer. In addition, it makes it similar in form no matter what type of collection is used. The
Standard Template Library (STL) has an iterator class associated with each of its collection classes. OpenCV then offers a cv::Mat
iterator class that is compatible with the standard iterators found in the C++ STL.
Getting ready
In this recipe, we again use the color reduction example described in the previous recipe.
How to do it...
An iterator object for a cv::Mat
instance can be obtained by first creating a cv::MatIterator_
object. As is the case with cv::Mat_
, the underscore indicates that this is a template...