The images that we have been dealing with so far are grayscale images. Programmatically, we have represented them using a Mat object having the equivalent of an unsigned char
type. This means that each pixel value was permitted to be an integer between 0 and 255 (inclusive). This allowed us to represent not only black and white but also all the intermediate shades of gray as well. If you show these images to a layman (or anyone who isn't familiar with image processing parlance), they would no doubt label them as black-and-white. After all, grayscale images resemble the kind of pictures that you would expect to see on a black-and-white television.
However, this chapter will make a clear distinction between grayscale and black-and-white images. You will learn that in computer vision jargon, these two terms signify substantially different things. When we talk of black-and-white images in the context of image processing, we literally mean to say that the only allowable colors are...