Video Data Processing with Python and OpenCV

Поделиться
HTML-код
  • Опубликовано: 10 май 2024
  • In this video tutorial you will learn how to work with video data in python and openCV. Video processing and data analysis has many applications in machine learning, including object detection, pose estimation, and object tracking. Before you can run machine learning on videos you first need a good understanding of how to read and write video files using python and openCV. This tutorial walks through the basics, step by step, with some examples.
    Notebook used in this video: www.kaggle.com/code/robikscub...
    Timeline:
    00:00 Video Data & Python
    01:08 What is Video Data?
    04:08 Getting Setup
    06:19 Converting Videos
    08:23 Displaying Video
    09:13 Video Metadata
    11:32 Pulling Images
    17:31 Add Annotations
    25:48 Saving processed video
    31:33 Summary
    My other videos:
    Speed Up Your Pandas Code: • Make Your Pandas Code ...
    Speed up Pandas Code: • Make Your Pandas Code ...
    Intro to Pandas video: • A Gentle Introduction ...
    Exploratory Data Analysis Video: • Exploratory Data Analy...
    Working with Audio data in Python: • Audio Data Processing ...
    Efficient Pandas Dataframes: • Speed Up Your Pandas D...
    * RUclips: youtube.com/@robmulla?sub_con...
    * Discord: / discord
    * Twitch: / medallionstallion_
    * Twitter: / rob_mulla
    * Kaggle: www.kaggle.com/robikscube
    #python #computervision #datascience

Комментарии • 70

  • @VauRDeC
    @VauRDeC 10 месяцев назад +1

    This video saved my week-end ! Thank you so much for it !

  • @user-lt2px3ft4p
    @user-lt2px3ft4p 2 месяца назад

    Thank you! You explained very clearly on the code and how you did it. ❤

  • @sharau.99
    @sharau.99 10 месяцев назад

    Great explanation! Keep it up 👍

  • @vaijrb
    @vaijrb Год назад +1

    Very well done! Thank you for making this video.

    • @robmulla
      @robmulla  Год назад +1

      Glad it was helpful! If you know of anyone who might learn from it please think about sharing the link.

  • @DataCraftsman
    @DataCraftsman Год назад +5

    Love your work as always. You should do a follow up video on using a neural network to do the labeling. I imagine it would just be some sort of CNN that outputs the coordinates for the box using the bounding pixels of the detected shapes.

    • @RobertMulla
      @RobertMulla Год назад +1

      Thanks! Great minds think alike. My next video will be a quick introduction to object detection using yolov5 and I run it on this dataset.

    • @DataCraftsman
      @DataCraftsman Год назад +1

      @@RobertMulla Awesome! Looking forward to it.

  • @LeoSo
    @LeoSo Год назад +1

    Thank you for the tutorial! I'm interested in processing and analyzing sport video using Python. Google brought me here. I like the presentation in kaggle. Keep up your good work. I will check out all your videos!

    • @robmulla
      @robmulla  Год назад

      Thanks so much for the feedback. I’m glad you found this helpful. Please share the link with anyone else you think might find it helpful.

  • @linuxmill
    @linuxmill Год назад +1

    it was beautiful watching a quaestion get so quickly converted quantitaive analysis that is easily visualized.

    • @robmulla
      @robmulla  Год назад

      Glad you liked it. Thanks for watching and let me know if there is anything I can do better.

  • @ThanhHa-zo7lp
    @ThanhHa-zo7lp 8 месяцев назад

    Great work. Nice perform. Many thankss for sharing!

    • @robmulla
      @robmulla  8 месяцев назад

      Many thanks!

  • @pavlostsoukias8147
    @pavlostsoukias8147 Год назад +1

    Our Data professor is back !!

    • @robmulla
      @robmulla  Год назад +3

      Haha. I'm just trying to create content about things I find interesting and I hope people will learn from!!

  • @MrEck95
    @MrEck95 9 месяцев назад +1

    Hey thanks for the very insightful video, if I wanted to train a model with video data, do you have any recommendations on the simplest way to generate the csv file of labels and data for the segmented objects we want to annotate?

  • @miodice3
    @miodice3 8 дней назад

    really neat overview thank you

  • @vivekpadman5248
    @vivekpadman5248 Год назад +2

    This is absolutely a great tutorial for beginners. Learnt a lot and the way you explain is soo perfect. I'd definitely share it with my friends.
    Can you if possible make video on complete kaggle project walk through and how you approach the problem?

    • @robmulla
      @robmulla  Год назад +1

      Awesome, thank you for the feedback. Please do share it with friends and/or on platforms that you think people might learn from it. I actually recorded a video walking through a kaggle competition but never released it. I do have a competition starter guide video you should check out.

  • @scullyy
    @scullyy Год назад

    This seems like what I need to get rid of flickering in my video! First I'd need to automate detecting a completely black frame (responsible for the flickering) and then copy paste the nearest valid frame (one that isn't black) onto the black frame. Wish me luck :)

  • @user-bm4vj2jr9e
    @user-bm4vj2jr9e Месяц назад

    Wow amazing thank you

  • @CarolinaMunoz-vy3ni
    @CarolinaMunoz-vy3ni Год назад +1

    I haven't watched it but I already like it

    • @robmulla
      @robmulla  Год назад +1

      Thanks Carolina! Let me know if you have any feedback once you have a chance to watch.

    • @CarolinaMunoz-vy3ni
      @CarolinaMunoz-vy3ni Год назад

      @@robmulla thanks!

  • @vijayalaxmiise1504
    @vijayalaxmiise1504 Год назад +1

    Thank you so much sir. It would be great help if you release some videos on Action Recognition, Detection , Classification in video

    • @robmulla
      @robmulla  Год назад

      Noted! Have you seen my video on object detection?

  • @nisheethsrivastava8345
    @nisheethsrivastava8345 9 месяцев назад

    Hi Rob
    I am New to the video processing and the video is very helpful. I wondering that how did you get the csv file for video so that category of the images could be built. I need to use this method to create the labels. I am using Wowza streaming server to stream the video to the analytics application where i have to capture the stream & read the stream. I am stuck at category of objects. please let me know how it can be used

  • @pleasedont2270
    @pleasedont2270 Год назад +1

    Me too on my first page man, good luck

    • @robmulla
      @robmulla  Год назад

      Love it. Hopefully it shows up for more people!

  • @nkrumahminsinga1541
    @nkrumahminsinga1541 10 месяцев назад

    Thank you for this exercise, it was very helpful but please how am i supposed to do if i don't have labels datasets or how can i buid it? thank you

  • @wooprime3482
    @wooprime3482 Год назад +2

    Ooooh, this appeared on my RUclips front page, are you gonna finally pop off?

    • @robmulla
      @robmulla  Год назад

      Fingers crossed! 😅 - Thanks for commenting and (hopefully?) watching too.

  • @Az-jt2zp
    @Az-jt2zp 7 месяцев назад +1

    So did someone go in manually and identify the labels and draw the frames?

  • @ghadadodo3865
    @ghadadodo3865 7 месяцев назад

    Could you give us the link of the video sir?
    And thanks for this video ✅

  • @yoonseokheo9487
    @yoonseokheo9487 Год назад +1

    Thanks for your amazing work sharing. I have a question about annotation.
    As far as I know, you have mentioned that the frame index(frameIndex) should be transformed with respect to the video frame.
    So you set the value as 11.9 . I want to know how to calculate the value. Thanks in advance.
    + I am just wondering if you have any plans of "fiftyone" package which is also an interesting toolkit for vision datsets.

    • @robmulla
      @robmulla  Год назад

      Not sure I exactly follow your question. But I need to look into that package and might make a video.

    • @yoonseokheo9487
      @yoonseokheo9487 Год назад

      ​@@robmulla Thanks for answering my comment, and let me clarify my question.
      In the video(19:08), You add another column named "video frames" by transforming the column named "frameIndex" multiplied by 11.9.
      I am confused about the reason for multiplying the value(11.9) and how the value is set up.

  • @upendrad6081
    @upendrad6081 Месяц назад

    Where did you got the annotation label dataset CSV?

  • @RichardGreco
    @RichardGreco Год назад +1

    What are the parameter sizes for width and height? Seems arbitrary you choose 500 or 700. Why not 5000? What does the number refer to. I have the same question for matplotlib plot sizes.

    • @robmulla
      @robmulla  Год назад

      Great question. I think the height and width you are referring to is with the IPython display module. I found the documentation about it and this value just relates to the html height and width: github.com/ipython/ipython/blob/master/IPython/core/display.py#L1109-L1115
      I believe this is just the number of pixel values displayed in the website. I might have not been clear about it, but this is different than the actual video image resolution, it's only for displaying the video in the notebook. Hope that helps!

    • @RichardGreco
      @RichardGreco Год назад +1

      @@robmulla Thank you. You were clear about the actual video resolution. I thought the answer would have been more arcane, but as always, the answer is in the documentation!

  • @andrewl.4277
    @andrewl.4277 8 месяцев назад

    Legend has it he's still getting to the fun part. (alright and now to the fun part....3 min later....alright and now to the fun part) jokes. awesome video

  • @maxy9095
    @maxy9095 Год назад

    How to find videos full RGB values

  • @aomo5293
    @aomo5293 Год назад +1

    Hi
    Thank you for the great video.
    Total frames is 2393.
    On each 100 frame you displayed 1 image.
    That s why you have
    2393%100=24 images
    If i want to extract 30 images
    I should do
    2393%80
    Is it true?

    • @robmulla
      @robmulla  Год назад +1

      I think you might be right now I’m not completely sure.

    • @aomo5293
      @aomo5293 Год назад

      @@robmulla thank you.

  • @fenfire3824
    @fenfire3824 4 месяца назад

    Hi, i am looking for some libraries or even frameworks on how i can find graphical items on my screen, like you can do in Auto it.
    E.G. if you play a video game and you want to automate pressing buttons or keys. I did it in the past in Auto It but I don't like Auto it that much and would like to do the same in Python maybe. Or even Java or C#.
    Is it the same as object tracking? Is OpenCV the right library for that? My problem is, it is difficult for me to find the correct documentary or tutorials because the whole topic is quite new for me and i don't know all the terminology. I am also not english, i can speak english very well, but it makes researching more difficult.
    Could you give me some hints on what i have to look for? It is not object tracking in video or images, it should me tracking from screen capturing.
    I would like to do lots of stuff with it just to learn it. Maybe something like a simple bot who can play a fighting game or a click bot for simple games. Just to learn the basics.

  • @mohammadkheder8994
    @mohammadkheder8994 7 месяцев назад

    I can know if Vehicle is empty or not by camera in paython

  • @ChezChicago
    @ChezChicago Год назад +1

    Impoet does not work in window command line. Where are you entering the import statements in Windows?

    • @robmulla
      @robmulla  Год назад

      Import? I’m using Linux. But you could try in colab or a Kaggle notebook.

    • @ChezChicago
      @ChezChicago Год назад

      input_file = ‘.\\ANYFILE.mov’ ## Actual file name
      subprocess.run([‘ffmpeg’,’-i’,input_file,’-qscale’,’0’,
      ‘026c7465-309f6d33,mp4’])
      ERROR:
      Traceback (most recent call last):
      File "", line 2, in
      File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.2544.0_x64__qbz5n2kfra8p0\lib\subprocess.py", line 488, in run
      with Popen(*popenargs, **kwargs) as process:
      File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.2544.0_x64__qbz5n2kfra8p0\lib\subprocess.py", line 800, in __init__
      restore_signals, start_new_session)
      File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.2544.0_x64__qbz5n2kfra8p0\lib\subprocess.py", line 1207, in _execute_child
      startupinfo)
      FileNotFoundError: [WinError 2] The system cannot find the file specified

  • @stephenkolostyak4087
    @stephenkolostyak4087 20 дней назад

    you can't thread the rectangles?

  • @jackkelly4277
    @jackkelly4277 Год назад +2

    I live in that neighborhood!!! So weird

  • @igorekudashev
    @igorekudashev Год назад +1

    AttributeError: module 'cv2' has no attribute 'cv2'

    • @robmulla
      @robmulla  Год назад

      What version of cv2 are you running? I think the imports changed in one of the releases.

    • @phillipchananda
      @phillipchananda Год назад

      Try to use remove one cv2 inside the get function like cap.get(cv2.CAP_PROP_FRAME_COUNT)

  • @magnuswootton6181
    @magnuswootton6181 Год назад +1

    how do you make it look like a movie?

    • @robmulla
      @robmulla  Год назад

      Sorry, I'm not understanding your question.

  • @anilkarabhari8161
    @anilkarabhari8161 Год назад

    how to label annatations in csv file

    • @upendrad6081
      @upendrad6081 Месяц назад

      Same question. How he got the CSV?

  • @SiliconSchematics
    @SiliconSchematics 9 месяцев назад

    I did nt understand how it recognises the objects

  • @newstodayyt1
    @newstodayyt1 9 месяцев назад +1

    No pytesseract used here

    • @robmulla
      @robmulla  9 месяцев назад

      I have a video about detecting text in images where I use it!

    • @newstodayyt1
      @newstodayyt1 9 месяцев назад

      @@robmulla nope do video ocr video pls

  • @anuranjith2002
    @anuranjith2002 7 месяцев назад +1

    I have a genuine doubt.....how do you know each and every code and you run every one of them without any errors....how did you learn coding in such a manner?

    • @sriram-xp5sg
      @sriram-xp5sg 2 месяца назад +1

      Ever heard of video editing

  • @jl2696
    @jl2696 2 месяца назад

    Is there any way to install OpenCV through conda-forge? That's what I mainly use instead of Pip