O(N^5) optimum and second-best matrix chain calculator. Based on a simple optimum matrix chain multiplication program expanded to calculate worst-case, second-best, and second worst-case values and parenthesizations.
The program works by first using 3 nested for loops to calculate the optimal parenthesization. To calculate second-best instead of best-case, the program requires 2 more nested for loops and calculates all the possible cases where a single suboptimal decision is made, the second best instead of the best option.
This Image Cleanup Tool written in Visual Studio 2010 and OpenCV version 18.104.22.168 allows a user to load an image, selectively apply 8 different OpenCV filters (5 built-in filters, 3 custom) to the image in varying degrees in real time.
Image processing is applied on the main image every single time a slider bar is moved, not on a preview of the image. For this reason the application works best on small files. Moving a slider bar is reversible until a different bar is moved. Pressing escape or closing the program will automatically save the output as [filename]_.jpg in the same folder as the original.
Written in C with simultaneous processes, random delays, and semaphores implemented via pipes.
Source code removed to be used as a computer science class project.