├── LICENSE └── main.py /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Sibyl666 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | import cv2 2 | import numpy 3 | import sys 4 | import time 5 | from PIL import Image 6 | 7 | thresh = 70 8 | TIMEOUT = .0416 9 | 10 | print("don't forget to add extension of video like mp4") 11 | videon_name = input("Video Name: ") 12 | 13 | vidcap = cv2.VideoCapture(videon_name) 14 | success, image = vidcap.read() 15 | 16 | 17 | def fn(x): 18 | if x > thresh: 19 | return 255 20 | return 0 21 | 22 | 23 | old_timestamp = time.time() 24 | while success: 25 | 26 | if (time.time() - old_timestamp) > TIMEOUT: 27 | img = Image.fromarray(image) 28 | img.thumbnail((50, 50)) 29 | r = img.convert('L').point(fn, mode="1") 30 | 31 | pixels = r.load() 32 | image_size = r.size 33 | 34 | star_string = "" 35 | for height in range(image_size[1]): 36 | for width in range(image_size[0]): 37 | pixel = pixels[width, height] 38 | if not pixel == 255: 39 | star_string += "*" 40 | continue 41 | else: 42 | star_string += " " 43 | star_string += "\n" 44 | 45 | old_timestamp = time.time() 46 | print(star_string) 47 | 48 | success, image = vidcap.read() 49 | --------------------------------------------------------------------------------