I am interested in feature extraction of the ROI of an image, which will be used as feature vectors input to an SVM. The features to be extracted include the texture(color co-occurence/haralick features) and color(rgb-histogram, 4 bins and mean r, g, b)- a total of 29 features/attributes.
Question:
Will there be a difference if the feature extraction(computation) is done directly on the ROI image compared to dividing the ROI into small parts(nxn window/patch) first and then computing the features? What are the advantages/disadvantages? Which of the two would give more meaningful features?
Let's say that if dividing the ROI into small parts is the better option and it would be fed to the SVM in the training stage, how will the svm-predict or testing be like? Will the feature extraction of the test images/test region of interest have to be divided also into small parts and fed into the svm-predict function(just like the training process)? Or the feature extraction on the test ROI directly will do?
By the way, I'm trying to classify the disease type found in a leaf(3 types, and 1 healthy). And so far, got very poor results in svm-predict(predicts only 1 class, around 20%) and found out that the features from each class are not well distinguished from each other. Here's sample images of ROI(3 types).
3 Types: https://drive.google.com/folderview?id=0B1aXcXzD_OADX3VvbjlKbFJBZzg&usp=sharing
I'm using OpenCV. In c++. Any explanation and reference would be helpful.