Clear, comprehensive, colorful textbook about digital image processing.
My class at Stanford in digital image processing (EE368) leveraged this book for details and pseudocode about operations like morphological image processing, opening and closing, histogram equalization, denoising, Canny edge detection, image segmentation, and the various flavors of noise.
Personally, I prefer the MATLAB version of this book, which supplements theoretical discussions with actual working code that you can run in MATLAB as you read the book. However, this book is longer, delves into greater (theoretical) detail about more concepts, and feels more evergreen as a reference beyond simple learning. If I had to buy one, I'd buy the MATLAB version, but both textbooks have their strengths and place in the library.
I still reference this tome today when I seek concepts to computer vision to apply to image processing operations like masking a photo, cleaning up a noisy image, or detecting edges for segmenting foreground features from background.
An instant classic: buy before your course in digital image processing so you have time to savor all the details and review the text before applying it in actual problem sets and projects!