I want to do dune classification for land cover changes. Please anyone suggest me any software for classification or any supporting tips. if any one have tutorial please share with me.
it is simples: use the gradients in the terrain image! They will describe the slopes of the dunes were precisely. If you have acces to some kind of digital terrain model (DTM) images you can use the height information to generate flat, 2D grayscale images where the height is the grayvalue of the pixel (remember to normalize the image before) (standard GIS software does exactly this when displaying DTM images...).
Once you have this, you'll be able to calculate the gradients of the dunes, which represent the morphology of their slopes and, I think, could be used to describe them well.
OpenCV has simple gradient detectors described here:
With the canny edge detector you can set different values of sigma and directly detect different types of gradients, from more local (small sigma) to more global (large sigma). This you could use for dune classification, given yoy have an annotated database of dunes.
Another approach would be to use Convolutional Neural Networks and either (a) classify gradient images or (b) use gradient image generation as a convolutional layer and train annotated DTM images directly. This is a more complicated approach but, given a large set of annotated DTM images, could be an interesting option.
Back in August 2017, OpenCV 3.3 was officially released, bringing it with it a highly improved “deep neural networks” ( dnn ) module. This module supports a number of deep learning frameworks, including Caffe, TensorFlow, and Torch/PyTorch. The primary contributor to the dnn module, Aleksandr Rybnikov, has put a huge amount of work into making this module possible.
A gentle introduction to Deep Learning/Convolutional Neural Networks you'll find here: