The command-line image processing application written in C# offers a set of image manipulation features. It allows to apply various operations starting from basic brightness and contrast adjustments to complex frequency-domain filters and morphological transformations on bitmap images.
-
Input/Output Folders:
- OriginalImages: Contains the original, unmodified images.
- ModifiedImages: Processed images are saved here.
- PlotImages: Generated analysis plots (e.g., histograms) are stored in this folder.
-
Command-Line Driven:
The application is operated via command-line arguments. Running the application without arguments or with the--help
flag displays detailed usage information.
ImageProcessing --help
Below are presented available operations, however without detailed information which is displayed after using the --help
command.
- Brightness Modification (
--brightness
) - Contrast Modification (
--contrast
) - Negative (
--negative
)
- Flips:
- Horizontal (
--hflip
) - Vertical (
--vflip
) - Diagonal (
--dflip
)
- Horizontal (
- Scaling:
- Image Shrinking (
--shrink
) - Image Enlargement (
--enlarge
)
- Image Shrinking (
- Noise Reduction:
- Midpoint Filter (
--mid
) - Arithmetic Mean Filter (
--amean
)
- Midpoint Filter (
- Detail Extraction:
- Extraction of Details (
--sexdeti
) with customizable masks. - Optimized Extraction of Details (
--sexdetio
)
- Extraction of Details (
- Edge Detection:
- Sobel Operator (
--osobel
)
- Sobel Operator (
- Statistical Calculations:
- Mean (
--cmean
) - Variance (
--cvariance
) - Standard Deviation (
--cstdev
) - Variation Coefficient I (
--cvarcoi
) - Asymmetry Coefficient (
--casyco
) - Flattening Coefficient (
--cfsyco
) - Variation Coefficient II (
--cvarcoii
) - Information Source Entropy (
--centropy
)
- Mean (
- Error Metrics (using two images):
- Mean Square Error (
--mse
) - Peak Mean Square Error (
--pmse
) - Signal-to-Noise Ratio (
--snr
) - Peak Signal-to-Noise Ratio (
--psnr
) - Maximum Difference (
--md
)
- Mean Square Error (
- Basic Operations:
- Dilation (
--dilation
) - Erosion (
--erosion
) - Opening (
--opening
) - Closing (
--closing
)
- Dilation (
- Advanced Operations:
- HMT (
--hmt
) - M1 Operations (
--m1op1
,--m1op2
,--m1op3
)
- HMT (
- Image Segmentation:
- Merging (
--merging
)
- Merging (
- Fourier Transforms:
- Discrete Fourier Transform (
--dft
) and Inverse DFT (--idft
) - Fast Fourier Transform (
--fft
) and Inverse FFT (--ifft
)
- Discrete Fourier Transform (
- Frequency Domain Filters:
- Low-pass Filter (
--lowpass
) - High-pass Filter (
--highpass
) with optional phase preservation - Band-pass Filter (
--bandpass
) - Band-cut Filter (
--bandcut
) - High-pass Filter with Edge Direction (
--edgehighpass
) - Phase Modifying Filter (
--phase
)
- Low-pass Filter (
- Histogram Generation:
Generates histograms for specific color channels (R, G, or B) using the ScottPlot library.