66
edits
Changes
Sirius
,→Boxblur on an image using opencv C++ Library (Max Fainshtein)
=== Boxblur on an image using opencv C++ Library (Max Fainshtein) ===
My suggested topic for the parallel program term project is an application that performs a boxblur on an image using open cv. This is made possible by using the opencv library installed through https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.3.0/opencv-3.3.0-vc14.exe/download or by using Visual Studios NuGet packages and installing opencv.win.native by Harry Y. Opencv was used to read images and access and modify the color of each pixel so that it is the average of the user defined box kernal. This application is running at O(n^2) where n is the number of pixel rows and columns for the image. ==== Results ====Running this program for images of various sizes resulted in the following:
[[File:dps915_boxfilter_result.png]]
==== Graph ====
This is the data displayed as a bar graph.
[[File:dps915_boxfilter_graph.png | 750px]]
By implementing this kernel, the process time of the blur effect had made a significant improvement, compared to it's serial counter-part as illustrated in the graph below.
<br><br>
==== Graph ====
[[File:boxFilterFirst.png | 750px]]
----
==== Results ====
==== Graph ====
[[File:boxFilterOptimize.png| 750px]]
=== Conclusion ===