Example #1
0
def edge():
    edgeFeats = EdgeHistogramFeatureExtractor()
    a = np.array(edgeFeats.extract(watchman.imgbank[0])) 

    if len(watchman.imgbank) > 1:
        b = np.array(edgeFeats.extract(watchman.imgbank[1]))
    else:
        b = np.array(edgeFeats.extract(watchman.imgbank[0]))
        
    AandB = np.sum(np.square((a-b))) 
    return AandB
Example #2
0
def feature_extractor():

    #Abrir arquivo que vai receber as features dos arquivos de imagens
    file = "image_features_train_20_10_1_Novo.arff"
    text_file = open(file, "a")
    trainPath = "C:/Python27/ARP/Dataset/train2"
    dirList = os.listdir(trainPath)
    edge = EdgeHistogramFeatureExtractor(20)
    for dirName in dirList:
        fileList = os.listdir(trainPath + '/' + dirName)
        maxsize = len(fileList)
        for i in range(0, maxsize):
            #print fileList[i]
            filePATH = (trainPath + '/' + dirName + '/' + fileList[i])
            img = Image(filePATH)
            #Feature - Edge histogram
            edge_vecs = edge.extract(img)
            edge_fields = edge.getFieldNames()
            for y in range(0, edge.getNumFields()):
                #print edge_fields[y], '=', edge_vecs[y]
                text_file.write(str(edge_vecs[y]) + ",")
            #Feature - Hue
            hue = HueHistogramFeatureExtractor(10)
            hue_vecs = hue.extract(img)
            hue_fields = hue.getFieldNames()
            for i in range(0, hue.getNumFields()):
                #		#print hue_fields[i], '=', hue_vecs[i]
                text_file.write(str(hue_vecs[i]) + ",")
            Morph1 = MorphologyFeatureExtractor()
            Morph2 = Morph1.extract(img)
            text_file.write(str(Morph2) + ",")
            text_file.write(dirName + "\n")
    text_file.close()
def extract_edges(image, data, slices):
    edgeExtractor = EdgeHistogramFeatureExtractor(bins=4)
    image_bins = split_image_into_slices(image, slices)
    data["edge-angles"] = []
    data["edge-lengths"] = []
    for image_bin in image_bins:
        edge_angles_and_lengths = edgeExtractor.extract(image_bin)
        data["edge-angles"] += edge_angles_and_lengths[: len(edge_angles_and_lengths) / 2]
        data["edge-lengths"] += edge_angles_and_lengths[len(edge_angles_and_lengths) / 2 :]
    return data
Example #4
0
def EHDFeatures(image):
    """
    Function that calculate the edge histogram of an image.

    Coded by An Li
    """

    img1 = Image(image)

    edgeFeats = EdgeHistogramFeatureExtractor(bins=16)

    results = np.array(edgeFeats.extract(img1), dtype=np.float32)

    return results