dynamic programming shows up a lot in image processing. another cool application is in the image quilting algorithm, where you're trying to synthesize a large texture from a smaller one by stitching together small patches. to reduce the visible seams you can use dynamic programming to find the "best" path through the overlap of two adjacent patches.
here's a link to the paper, which has some cool results to look at: https://people.eecs.berkeley.edu/~efros/research/quilting/qu...