https://github.com/rfsantacruz/java_pdi_tools
Digital Image Processing Toolbox coded in java
https://github.com/rfsantacruz/java_pdi_tools
dip frequency-filters image-processing java spatial-filters
Last synced: 26 days ago
JSON representation
Digital Image Processing Toolbox coded in java
- Host: GitHub
- URL: https://github.com/rfsantacruz/java_pdi_tools
- Owner: rfsantacruz
- Created: 2014-08-18T22:22:45.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2018-01-24T11:24:37.000Z (over 7 years ago)
- Last Synced: 2024-12-29T22:47:41.676Z (9 months ago)
- Topics: dip, frequency-filters, image-processing, java, spatial-filters
- Language: Java
- Homepage:
- Size: 364 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Digital Image Processing Tools
This is a collection of traditional digital image processing algorithms, e.g., image filtering, restoration and morphological operations, implemented in JAVA. This **is not** an optimized code, since this is a self-study project developed while studying the book [Digital Image Processing](https://www.amazon.com/Digital-Image-Processing-Rafael-Gonzalez/dp/013168728X) by Rafael C. Gonzalez and Richards E. Woods.## Contents
### Image enhancement in Spatial Domain:
We first focus on image processing on the spatial domain. We implement basic [gray level transformations](./src/intensityFiltersPack) pipelines as well as concrete operations like logarithmic, gamma, and negative. Second, we demonstrate how to perform enhancements by image [histogram processing](./src/HistogramPack). Third, we code handy [arithmetic and logical pixel-wise operations](./src/SetOperationsPack). Finally, we develop the standard [spatial filtering operation](./src/SpatialFiltersPack), [smoothing filters](./src/SpatialFiltersPack) like median and mean, and [sharpening filters](./src/SpatialFiltersPack) based on gradient operators.### Image enhancement in Spatial Domain:
Some operations are easy to compute in the frequency domain. Then, we develop an engine to perform the Fourier and Inverse-Fourier transform which accomplish the [space-frequency transformations](./src/FrequencyFiltersPack/FrequencyFilterExecutor.java) of images. Moreover, we implement the [homomorphic filter](./src/FrequencyFiltersPack/HomomorficFilter.java) as an example of how to use such an engine.### Morphological image processing:
[Morphological operations](./src/MoforlogicOperationsPack) are an interesting class of binary image transformations. Here, we code from basic [erosion](./src/MoforlogicOperationsPack/ErosionMorfologicOperator.java) and [dilatation](./src/MoforlogicOperationsPack/DilatationMorfologicOperator.java) operations, passing trough opening and closing, and finishing with applications of region filling and shape detection.See [ImageProcessor class](./src/ProcessorPack/ImageProcessor.java) for instructions on how to use these algorithms. However, note that **this toolbox is not a substitute for Matlab or OpenCV image processing toolboxes**, it is just a collection of programming exercises to better understand how image processing algorithms works.