This project implements a median filter for image processing using C# (Windows Forms Application). The filter is applied to an image, and the implementation utilizes two external dynamic-link libraries (DLLs) written in C++ and x64 assembly. The project allows configuring the number of threads used for parallel processing.
Ensure you have the following installed before running the project:
- Visual Studio (for C# development)
- C++ compiler (for compiling C++ DLL)
- Assembler (for assembling x64 assembly code)
The project consists of the following components:
DataManager
: Manages the image data, filtering, and threading.DllType
: Enum specifying the type of DLL to use (CPP or ASM).Controller
: Connects data managment with user interface.- Other helper classes and methods.
- Provides a C++ implementation of the median filter.
- Provides an x64 assembly implementation of the median filter.
The project uses two DLLs written in C++ and x64 assembly to perform the median filter. The DLLs should be compiled separately using the provided source code.
- Open the solution in Visual Studio.
- Build the solution to compile the C# code.
- Compile the C++ DLL (
JACpp.dll
) and the x64 assembly DLL (JAAsm.dll
) separately. - Ensure that the DLLs are in the appropriate debug/release folders.
- Run the application.