Abstract:
Soil is the basis of our earth’s agroecosystems which provide us with fiber, food,
fuel etc. Soil classification helps predict soil type and performance for growing
agricultural crops that provide us with food. Soil classification is essential for a farmer
who can know soil type, and plants the suitable crops depending soil type. The aim of this
research is therefore to develop a method that automates soil classification by applying
image processing techniques. In the proposed soil classification method, soil
classification is performed by using color and texture of a soil image as features and by
using the K-Nearest Neighbors (KNN) as a classifier.The proposed soil classification
method firstly extracts color features: mean and standard deviation, and texture features:
energy and contrast, from soil images in dataset. These features vectors are then saved as
a features dataset. In testing phase, the texture and color features from the user input soil
image are also extracted as a testing feature vector. The user input soil image is then
classified based on this testing feature vector by comparing with all the features vectors
in the features dataset using k-nearest neighbors (KNN) classifier. After classifying the
user input soil image whether it is clay or clay loam or sandy loam, the system provides
the list of crops and vegetations which can easily be grown in the predicted soil type.Soil
RGB images dataset applied to our soil classification system contains “sandy loam” and
“clay loam” (Red Earths and Yellow Earths) soil images has taken in plantations and
farms in Lashio township and collected from Internet. Our own soil image dataset
including 200 soil images is applied to the system with the purpose of building the
features dataset and testing the system. 150 soil images in the dataset are used for
building the features dataset and 50 soil images are, for testing the system, as unknown
data. The overall accuracy of the system is over 88% for all 3 soil types: clay, clay loam
and sandy loam. The system is implemented in MATLAB programming environment on
Microsoft Windows platform.