Repository: ManimCommunity/manim

Issue:
remove all of manim/files/
It contains svg files specific to 3b1b.
Remove OpenCV and SceneFromVideo
opencv does not seem to be used anywhere other than in ScenefromVideo, which seems to be broken.


Discussion:

I vote we 100% scrap this file and opencv. Not only because it's broken but because this file is actually trying to use manim in a way that it's not intended. It seems like an awesome project to be honest, but I don't think it belongs inside manim itself. In the future, if anyone wants to work on this, I think it should live inside the ManimCommunity organization, but in a separate repo than manim itself.

Resolving patch:
diff --git a/manim/__init__.py b/manim/__init__.py
--- a/manim/__init__.py
+++ b/manim/__init__.py
@@ -51,7 +51,6 @@
 from .scene.scene import *
 from .scene.sample_space_scene import *
 from .scene.graph_scene import *
-from .scene.scene_from_video import *
 from .scene.three_d_scene import *
 from .scene.vector_space_scene import *
 from .scene.zoomed_scene import *
diff --git a/manim/scene/scene_from_video.py b/manim/scene/scene_from_video.py
deleted file mode 100644
--- a/manim/scene/scene_from_video.py
+++ /dev/null
@@ -1,54 +0,0 @@
-# from tqdm import tqdm as show_progress
-# import cv2
-
-# from ..scene.scene import Scene
-# from ..logger import logger
-
-
-# # TODO, is this depricated?
-# class SceneFromVideo(Scene):
-#     def construct(self, file_name,
-#                   freeze_last_frame=True,
-#                   time_range=None):
-#         cap = cv2.VideoCapture(file_name)
-#         self.shape = (
-#             int(cap.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT)),
-#             int(cap.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH))
-#         )
-#         fps = cap.get(cv2.cv.CV_CAP_PROP_FPS)
-#         self.camera.frame_rate = fps
-#         frame_count = int(cap.get(cv2.cv.CV_CAP_PROP_FRAME_COUNT))
-#         if time_range is None:
-#             start_frame = 0
-#             end_frame = frame_count
-#         else:
-#             start_frame, end_frame = [fps * t for t in time_range]
-
-#         frame_count = end_frame - start_frame
-#         logger.info("Reading in " + file_name + "...")
-#         for count in show_progress(list(range(start_frame, end_frame + 1))):
-#             returned, frame = cap.read()
-#             if not returned:
-#                 break
-#             # b, g, r = cv2.split(frame)
-#             # self.frames.append(cv2.merge([r, g, b]))
-#             self.frames.append(frame)
-#         cap.release()
-
-#         if freeze_last_frame and len(self.frames) > 0:
-#             self.original_background = self.background = self.frames[-1]
-
-#     def apply_gaussian_blur(self, ksize=(5, 5), sigmaX=5):
-#         self.frames = [
-#             cv2.GaussianBlur(frame, ksize, sigmaX)
-#             for frame in self.frames
-#         ]
-
-#     def apply_edge_detection(self, threshold1=50, threshold2=100):
-#         edged_frames = [
-#             cv2.Canny(frame, threshold1, threshold2)
-#             for frame in self.frames
-#         ]
-#         for index in range(len(self.frames)):
-#             for i in range(3):
-#                 self.frames[index][:, :, i] = edged_frames[index]
\ No newline at end of file
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -21,7 +21,6 @@
         "progressbar",
         "scipy",
         "tqdm",
-        "opencv-python",
         "pycairo",
         "pydub",
         "pygments",


Test patch: