if (len(sys.argv) == 3): image = sys.argv[1] shape = sys.argv[2] kernel = 'rbf' trainingSample = 500 validationSample = 1000 print "Default Value : kernel=rbf, trainingSample=500, validationSample=1000" elif (len(sys.argv) == 6): image = sys.argv[1] shape = sys.argv[2] kernel = sys.argv[3] trainingSample = sys.argv[4] validationSample = sys.argv[5] else: print "Usage : ./SVM_main_prog.py image.tif shape.shp [OPTIONS]" print "OPTION : kernel(linear/rbf/poly/sigmoid) Trainig_Sample Validation_Sample" exit() print("Compute Statistics ... ") svm.ComputeStat(image) print("Train SVM ... ") svm.TrainSVM(image, shape, kernel, trainingSample, validationSample) print("Image Classification ... ") svm.ImageClassif(image) print("Colorizing Classification ... ") svm.ColorMap(image)
band.append(src.GetRasterBand(bi + 1)) tab.append(bi) tab = [] while len(tab) < len(band) : line = "Sélection de la bande n° " + str(len(tab)) + "\n" print line finalRank.write(line) tab.append(0) nb_band = len(tab) averageAccuracuy=[] for i in range(len(band)): tab[nb_band-1]=i bandName = WriteImageFromBandNum (band, tab, shape, kernel, trainingSample, validationSample) svm.ComputeStat(bandName) svm.TrainSVM (bandName, shape, kernel,trainingSample,validationSample) if os.path.exists("svmConfusionMatrixQB1.csv") == 0 : exit("svmConfusionMatrixQB1.csv n'a pas été créé") reader = csv.reader(open("svmConfusionMatrixQB1.csv","rb")) next(reader, None) next(reader, None) x=list(reader) confusionMatrix=np.array(x).astype('int') nbGood=0 nbBad=0 for k in range(confusionMatrix.shape[0]) : for j in range(confusionMatrix.shape[1]) : if k==j : nbGood+=confusionMatrix[k][j] nbBad+=confusionMatrix[k][j]