예제 #1
0
파일: training.py 프로젝트: sssruhan1/xray
def generate_hog_negative(folder, winW=400, winH=400):
    from src.utils.features import HOG
    from src.utils.io import filename2arr
    from src.utils.util import sliding_window
    X = []
    Y = []
    for dirName, subdirList, fileList in os.walk(folder):
       for filename in fileList:
           parts = filename.split('.')
           if parts[0] == '':
               continue
           print "generating file " + dirName + '/' + filename
           arr_big = filename2arr(dirName + '/' + filename)
           for (arr, m, n) in sliding_window(arr_big, winW=winW, winH=winH):
               fd = HOG(arr)
               X.append(fd)
               Y.append(0)
    return X, Y
예제 #2
0
###################################
constructing pyramids and use
sliding windows to match features.
###################################
"""
from src.utils.features import sift_descriptor

m_kp, m_des = sift_descriptor(model, show=False)
from skimage.transform import pyramid_gaussian
from src.utils.util import sliding_window

winH, winW = 400, 400
# for (i, resized) in enumerate(pyramid_gaussian(target, downscale=2)):
for resized in [target]:
    if resized.shape[0] < winH or resized.shape[1] < winW:
        break
    for (x, y, window) in sliding_window(resized):
        if window.shape[0] != winH or window.shape[1] != winW or window.max() == 0:
            continue
        lighter = float(window[np.where(window > (window.max() - 100))].size)
        if lighter / window.size < 0.1:
            continue
        """
        ###################################
        extract features and do match
        ###################################
        """
        # t_kp, t_des = sift_descriptor(window,show=False)
        # from src.utils.features import matcher_Flann_KNN
        # matcher_Flann_KNN(t_kp, t_des, window, m_kp, m_des, model_arr)