Esempio n. 1
0
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)
Esempio n. 2
0
	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]