The Image Filtering Program is a versatile tool designed to process images with various filters. This program allows users to load images, apply different filters, visualize results, and save filtered images. With a user-friendly interface, it provides a range of features to enhance and analyze images.
-
Load Image:
- Load an image file (jpg, jpeg, png).
-
Resize Image:
- Resize the loaded image by a factor of 0.5.
-
Choose Filter:
- Select a filter type (1: Mean, 2: Gaussian, 3: Median, 4: Custom).
-
Apply Filter:
- Apply the selected filter to the image.
-
Apply in Parallel:
- Choose whether to apply the filter in parallel using multi-threading.
-
Compare Filters:
- Compare the original image with multiple filtered versions.
-
Show Histogram:
- Display histograms for the original and filtered images.
-
Adjust Filter Parameter:
- Modify the parameter (kernel size) of the selected filter.
-
Apply Adjustment:
- Apply the filter with the adjusted parameter.
-
Save Filtered Images:
- Save the filtered color and grayscale images in a 'filtered' folder.
-
Progress Bar:
- Show a progress bar during filter application.
-
Message Label:
- Display informative messages and errors.
-
Load Image:
- Click on "Load Image" to select an image file.
-
Resize Image:
- Optionally, click on "Resize Image" to resize the loaded image.
-
Choose Filter:
- Enter the filter choice (1-4) in the corresponding entry field.
-
Apply Filter:
- Click on "Apply Filter" to apply the selected filter.
-
Apply in Parallel:
- Check the "Apply in Parallel" checkbox if parallel processing is desired.
-
Explore Other Features:
- Compare filters, show histograms, adjust parameters, and save filtered images.
cd ImageFiltering
python image_filter_app.py
-
Interactive Filter Parameter Adjustment:
- Allow users to interactively adjust parameters of the chosen filter and observe real-time effects.
-
Batch Processing:
- Allow users to process multiple images in a batch.
-
Undo/Redo Functionality:
- Implement the ability to undo or redo filter actions, enabling users to navigate through different filter choices and compare results.
-
Additional Filters:
- Expand the filter options by including more sophisticated or custom filters. You might explore filters used in image processing applications, such as edge detection filters, sharpening filters, or custom convolution filters.