Vendors like Altera and Xilinx have pretty good image processing toolkits. But, I've found that there's no complete "OpenCV for FPGA" that has almost everything you'll ever need. Most image processing applications also have a significant portion of home grown FPGA code added to standard blocks.
For industrial control applications, or even a simple assembly line, that machine can go almost 24/7 without a break. But what happens when the task is a little more complex? That’s where the “smart” machine would come in. The smart machine is one that has some simple (or complex in some cases) processing capability to be able to adapt to changing conditions. Such machines are suited for a host of applications, including automotive, aerospace, defense, medical, computers and electronics, telecommunications, consumer goods, and so on. This discussion will examine what’s possible with smart machines, and what tradeoffs need to be made to implement such a solution.