예제 #1
0
def main():
    feature, tar = get_feature()
    print(u.get_time(), ' train starts!')
    # clf = get_model_rf(feature, tar)
    clf = get_model_xgb(feature, tar)
    print(u.get_time(), ' train done!')
    u.build_dir(output_dir)
    model_save_dir = os.path.join(output_dir, use_model + '_model.m')
    joblib.dump(clf, model_save_dir)
    test = get_test()
    print(u.get_time(), ' test starts!')
    result = clf.predict_proba(test)
    print(u.get_time(), ' test done!')
    np.savetxt(os.path.join(output_dir, 'result.csv'), result, fmt='%.6f', delimiter=',')
    np.save(os.path.join(output_dir, 'result.npy'), result)
    print('all finished')
예제 #2
0
def main():
    try:
        for folder_seq in range(3):
            image_sir = os.path.join(src_dir, folder[folder_seq])
            for pig in range(1 + 10 * folder_seq, 11 + 10 * folder_seq):
                num = 1
                pig_folder = os.path.join(src_dir, str(pig))
                u.build_dir(pig_folder)
                for file in os.listdir(image_sir):
                    if file.startswith(str(pig) + '_'):
                        image_name = str(pig) + '_' + str(num) + SUFFIX
                        u.copyFiles(os.path.join(image_sir, file),
                                    os.path.join(pig_folder, image_name))
                        print(file + ' finished transferring')
                        num += 1
                print(str(pig) + ' finished!')
    except Exception as e:
        # os.system("shutdown -t 5")
        raise e
예제 #3
0
def main():
    u.build_dir(output_dir)
    for image_name in os.listdir(src_dir):
        img = cv2.imread(os.path.join(src_dir, image_name))
        height, width = img.shape[0], img.shape[1]

        if height > width:
            expend_scale = (height - width) / 2
            # expend_image = cv2.copyMakeBorder(img, 0,0,expend_scale,expend_scale,cv2.BORDER_CONSTANT, value=BLACK)
            expend_image = cv2.copyMakeBorder(img, 0, 0, expend_scale,
                                              expend_scale, cv2.BORDER_REFLECT)
        elif height < width:
            expend_scale = (width - height) / 2
            # expend_image = cv2.copyMakeBorder(img, expend_scale, expend_scale, 0, 0, cv2.BORDER_CONSTANT, value=BLACK)
            expend_image = cv2.copyMakeBorder(img, expend_scale, expend_scale,
                                              0, 0, cv2.BORDER_REFLECT)
        else:
            expend_image = img

        cv2.imwrite(os.path.join(output_dir, image_name), expend_image)
        print(expend_image.shape)
        print(image_name + ' has been handled!')
    print('all finished')
예제 #4
0
##--- choose one picture in the dataset with a interval ---###

import os
import cv2
# import cv
import utils
# tqdm for progress visualization
from tqdm import tqdm

source_dir = "/media/zq610/2C9BDE0469DC4DFC/ubuntu/dl_dataset/turtlebot/raw_frames"
output_dir = "/media/zq610/2C9BDE0469DC4DFC/ubuntu/dl_dataset/turtlebot/VOC_type/JPEGImages"
interval = 20

if __name__ == '__main__':

    utils.build_dir(output_dir)
    index = 0

    folders = os.listdir(source_dir)
    # folders = ['two_small_1', 'two_small_2', 'two_small_3', 'two_small_4', ]
    for folder in folders:
        pic_source = os.path.join(source_dir, folder)
        pics = os.listdir(pic_source)

        # sorted不改变原list,只是返回一个list
        # key可以使用lambda表达式,这个x是形参,代表每一个pics中的元素
        pics.sort(key=lambda x: int(x.split('.')[0].split('_')[2]))
        # pics = sorted(pics, key=lambda pics:int(pics.split('.')[0].split('_')[2]))

        count = 0
        for tmp_index in tqdm(range(0, len(pics), interval)):
예제 #5
0
    # videos = ['turtlebot2_7.mp4', 'turtlebot3_7.mp4']
    videos = [
        'two_small_1.mp4', 'two_small_2.mp4', 'two_small_3.mp4',
        'two_small_4.mp4'
    ]

    for each_video in videos:
        print('start process {}'.format(each_video))
        each_video_name, _ = each_video.split('.')

        # get the dir of source files and target saving folder
        each_video_file = os.path.join(source_dir, each_video)
        each_video_frame_folder_dir = os.path.join(output_dir, each_video_name)
        if not os.path.exists(each_video_frame_folder_dir):
            utils.build_dir(each_video_frame_folder_dir)
        else:
            continue

        cap = cv2.VideoCapture(each_video_file)
        frame_count = 0
        success = True
        while (success):
            success, frame = cap.read()
            params = [1, 100
                      ]  # 1 means save jpeg, 100 means the qulity of picture
            cv2.imwrite(
                os.path.join(each_video_frame_folder_dir,
                             each_video_name + "_{}.jpg".format(frame_count)),
                frame, params)
            frame_count += 1