Source code for wormpose.demo.real_simple_visualizer

#!/usr/bin/env python

"""
Visualizer for the real processed images
"""
from wormpose.dataset.image_processing.options import add_image_processing_arguments
from wormpose.dataset.loader import load_dataset
from wormpose.dataset.loaders.resizer import add_resizing_arguments, ResizeOptions
from wormpose.images.real_dataset import RealDataset


[docs]class RealSimpleVisualizer(object): """ Utility class to visualize the real images processed """ def __init__(self, dataset_loader: str, dataset_path: str, video_name=None, **kwargs): resize_options = ResizeOptions(**kwargs) dataset = load_dataset(dataset_loader, dataset_path, resize_options=resize_options, **kwargs) self.video_name = video_name if video_name is not None else dataset.video_names[0] self.real_dataset = RealDataset( frame_preprocessing=dataset.frame_preprocessing, output_image_shape=dataset.image_shape, ) self.frames_dataset = dataset.frames_dataset def generate(self): with self.frames_dataset.open(self.video_name) as frames: for frame in frames: processed_frame, _ = self.real_dataset.process_frame(frame) yield frame, processed_frame
def main(): import argparse import cv2 parser = argparse.ArgumentParser() parser.add_argument("dataset_loader", type=str) parser.add_argument("dataset_path", type=str) parser.add_argument( "--video_name", type=str, help="Optional video name. If not set, only visualize one video.", ) add_resizing_arguments(parser) add_image_processing_arguments(parser) args = parser.parse_args() real_visualizer = RealSimpleVisualizer(**vars(args)) for orig, processed in real_visualizer.generate(): cv2.imshow("orig", orig) cv2.imshow("processed", processed) cv2.waitKey() if __name__ == "__main__": main()