To extract leaf veins from scanned leaf groups and save some valuable data, like curvatures.
Done:
- Use K-means to get the order of each leaf in current group, then use Radon Transformation to straighten the leaf images.
- Use an improved dynamic Canny + Region Growth with two direction to extract leaf vein from the scanned leaf groups.
- Use DFT(Discrete Fourier Transformation) to evaluate the curvatures of the discrete vein points.
- Use curve-fitting to calculate the angles between the main-vein and sub-veins.
Author: Peng Zheng.
Project duration: 6/2017~12/2017, while some data formatting jobs still need to be done.
- numpy
- scipy
- opencv-python
- scikit-image
- scikit-learn
- matplotlib
- xlsxwriter
- Preprocessing:
- Radon transformation.
- FloodFill.
- K-means
- Extraction:
- Improved Canny.
- Region growth.
- Data formatting:
- Discrete Fourier Transformation.
- Skeletonization.
- Curve fitting.
- Put the scanned leaf group image in the "split_before" folder.
python main.py
.
-
Use superpixel to adapt canny theshold locally.
-
Upgrade Region Growth with Kalman Filter.
If you've ever met any confusion or bug in related algorithms or code, please be not mean about your issue:)