예제 #1
0
def main():

    # Extract specific number of key frames from video
    # if os.name == 'nt':
    #     multiprocessing.freeze_support()

    vd = Video()

    # folder to save extracted images
    output_folder_video_image = "selectedframes"
    out_dir_path = os.path.join(".", output_folder_video_image)

    if not os.path.isdir(out_dir_path):
        os.mkdir(out_dir_path)

    # number of images to be returned
    no_of_frames_to_returned = 20
    # VIdeo file path
    video_file_path = os.path.join(".", "tests", "data", "pos_video.mp4")
    print(f"Input video file path = {video_file_path}")

    imgs = vd.extract_frames_as_images(no_of_frames=no_of_frames_to_returned,
                                       file_path=video_file_path)

    # Save it to disk
    for counter, img in enumerate(imgs):
        vd.save_frame_to_disk(
            img,
            file_path=out_dir_path,
            file_name="test_" + str(counter),
            file_ext=".jpeg",
        )
    print(f"Exracted key frames file path = {out_dir_path}")
예제 #2
0
def write_images_into_folder(images, no_of_frames, path):
    video = Video()
    for i in range(no_of_frames):
        video.save_frame_to_disk(images[i],
                                 file_path=path,
                                 file_name="image" + str(i + 1),
                                 file_ext=".png")
예제 #3
0
def main():

    # Extract specific number of key frames from video
    vd = Video()

    # folder to save extracted images
    output_folder_video_image = "selectedframes"

    if not os.path.isdir(os.path.join(".", output_folder_video_image)):
        os.mkdir(os.path.join(".", output_folder_video_image))
    # number of images to be returned
    no_of_frames_to_returned = 12
    # VIdeo file path
    video_file_path = os.path.join(".", "tests", "data", "pos_video_2.mp4")
    print(f"video_file_path = {video_file_path}")

    imgs = vd.extract_frames_as_images(no_of_frames=no_of_frames_to_returned,
                                       file_path=video_file_path)

    # Save it to disk
    for counter, img in enumerate(imgs):
        vd.save_frame_to_disk(
            img,
            file_path=output_folder_video_image,
            file_name="test_" + str(counter),
            file_ext=".jpeg",
        )
예제 #4
0
def write_images_into_folder(images, no_of_frames, path):
    print('writing images into folder')
    print(no_of_frames)
    print(path)
    try:
        video = Video()
        for i in range(no_of_frames):
            print('saving ' + str(i + 1) + ' frame')
            video.save_frame_to_disk(images[i],
                                     file_path=path,
                                     file_name="image" + str(i + 1),
                                     file_ext=".png")
    except Exception as e:
        print('error saving extracted frames to disk')
        print(e)
예제 #5
0
def main():

    # Extract specific number of key frames from video
    # if os.name == 'nt':
    #     multiprocessing.freeze_support()
    os.chdir("/content/drive/My Drive")

    vid = Video()

    # folder to save extracted images
    output_folder_path = "selectedframes"
    output_directory = os.path.join(".", output_folder_path)

    if not os.path.isdir(output_directory):
        os.mkdir(output_directory)

    # number of images to be returned
    needed_frames = 10
    # VIdeo file path
    video_path = os.path.join("/","content", "drive","My Drive","test2.mp4")
    print(f"Input video file path = {video_path}")

    images = vid.extract_frames_as_images(
        no_of_frames=needed_frames, file_path=video_path
    )

    # Save it to disk
    for counter, img in enumerate(images):
        vid.save_frame_to_disk(
            img,
            file_path=output_directory,
            file_name="test_" + str(counter),
            file_ext=".jpeg",
        )
    print(f"Exracted key frames file path = {output_directory}")

   #calling the driver function 

    if __name__ == "__main__":
    multiprocessing.set_start_method('spawn', force=True)
    main()