OpenCV Python Tutorial For Beginners 24 - Motion Detection and Tracking Using Opencv Contours

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 ก.ย. 2024

ความคิดเห็น • 217

  • @myetis1990
    @myetis1990 5 ปีที่แล้ว +102

    if you watch previous tutorials you will understand what is happening behind syntax
    briefly,
    first step, movement is difference between two frames
    second, difference has noises because of details and light on video so gaussian blurring is eliminating the noises,
    third, obtaining threshold from clean difference
    fourth, dilating for eliminating district small weak threshold lines which corrupt healthy threshold detection
    fifth, finding contours from clean threshold
    sixth, eliminating small contours which can not be a human by filtering contour area
    seventh, drawing rectangles for each detected contour on the frame, rectangle dimensions obtained from cv2.boundingRect(contour)
    that is it!

    • @omgleowtf
      @omgleowtf 5 ปีที่แล้ว

      Cool, nice quick explanation, thanks!

    • @kunalgurtatta1813
      @kunalgurtatta1813 4 ปีที่แล้ว

      Thanks for the simple explanation !

    • @emnaguermazi9406
      @emnaguermazi9406 4 ปีที่แล้ว

      Great explanation

    • @jayasreegubbala3514
      @jayasreegubbala3514 4 ปีที่แล้ว

      can you send the previous videos link

    • @kumarabhishek5652
      @kumarabhishek5652 4 ปีที่แล้ว

      plz explain 6th point. where to look for. my code is still recognizing contour over ropes.
      ps: i am also getting this error:
      error: OpenCV(4.2.0) C:\projects\opencv-python\opencv\modules\core\src\arithm.cpp:669: error: (-209:Sizes of input arguments do not match) The operation is neither 'array op array' (where arrays have the same size and the same number of channels), nor 'array op scalar', nor 'scalar op array' in function 'cv::arithm_op'

  • @myetis1990
    @myetis1990 5 ปีที่แล้ว +23

    By evaluating the aspect ratio of each rectangle , we can determine whether it is a person or not.
    if Height/Width >1 then it may be a person
    elif Height/Width

    • @ayy4703
      @ayy4703 4 ปีที่แล้ว

      Thanks :D

  • @efekanefe442
    @efekanefe442 4 ปีที่แล้ว +16

    You gave me hope dude.You are the man!Thank you so much for helping us about the topics that we can't easily learn from anybody.

    • @gyghfhyh7439
      @gyghfhyh7439 ปีที่แล้ว

      abi merhaba. Bir projeniz mi vardı? Neden ihtiyacınız oldu acaba bu tutoriallara? Şuanda bir bitirme projem var da, bende bu videoların içersinde kaybolmuş durumdayım.

  • @sauravsutradhar1395
    @sauravsutradhar1395 4 ปีที่แล้ว +4

    You can change the thresh value in threshold function which eradicates the noise generated by the rope movement behind. I found a value of thresh=50 which worked fine for this input.

  • @umarqureshi2650
    @umarqureshi2650 3 ปีที่แล้ว

    I added edited this line with w>h which makes sure no box with a width greater then its height will be detected (which helps with the rope not being detected):
    if cv2.contourArea(contour) < 900 or w > h:

  • @jonatapaulino
    @jonatapaulino 2 ปีที่แล้ว +2

    Very good explanation. Congratulations. Do you have a video that counts these people after detection? Thanks for the video.

  • @peacecyebukayire5316
    @peacecyebukayire5316 3 ปีที่แล้ว +1

    I've loved the video already before I even watch it a second:)

  • @Anon-atg
    @Anon-atg 3 ปีที่แล้ว +1

    You my friend are a legend

    • @Anon-atg
      @Anon-atg 3 ปีที่แล้ว

      Super helpful guide, was looking for an input into my KcF tracker that wasn’t the traditional selectROI so used this and outputted the bounding boxes once they fitted my parameters

  • @philspaghet
    @philspaghet 4 ปีที่แล้ว +43

    Top tip: replace 'vtest.avi' with '0' to use your native webcam!

    • @brainibruno1796
      @brainibruno1796 4 ปีที่แล้ว +8

      yes but please without those ' ' , so just write cap = cv2.VideoCapture(0)

  • @MarcosGarcia-mc8oj
    @MarcosGarcia-mc8oj ปีที่แล้ว

    Thanks for making these videos so easy to follow.

  • @dhruuvvvv
    @dhruuvvvv 5 ปีที่แล้ว +12

    Pls upload tutorial on creating own haar cascade classifier

  • @jhonjaguer1488
    @jhonjaguer1488 4 ปีที่แล้ว

    yhank you god bless you. you are the best teacher. you helpt me a lot

  • @darshitjain5965
    @darshitjain5965 4 ปีที่แล้ว +2

    Great Video!!
    Is there a way to use the concept in the video to count the number of people in the test-video??

  • @ayushagarwal69
    @ayushagarwal69 3 ปีที่แล้ว +1

    Awesome tutorial sir , althought harr cascade would be better

  • @riyushachannel4761
    @riyushachannel4761 2 ปีที่แล้ว

    Work gan 👍🏻 ,thanks 🙏🙏
    (Auto subscribe)

  • @ravenfly2739
    @ravenfly2739 2 ปีที่แล้ว

    Thanks for that very helpful Video.

  • @diegoruza3732
    @diegoruza3732 4 ปีที่แล้ว +1

    Hi. Thanks so much for this tutorial. It helps me a lot. Could you please show us how to take a screenshot of the frame when capture motion?

    • @guseechka
      @guseechka 4 ปีที่แล้ว

      Did u resolve this question?

  • @antoninsoulier6391
    @antoninsoulier6391 ปีที่แล้ว

    Thank you !

  • @MadeInFIFA10
    @MadeInFIFA10 2 ปีที่แล้ว +1

    File "C:/Users/tasme/PycharmProjects/pythonProject1/main.py", line 15, in
    print(frame1.shape)
    AttributeError: 'NoneType' object has no attribute 'shape'
    Process finished with exit code 1
    im having this problem will u pls help

  • @sidranasreen7932
    @sidranasreen7932 ปีที่แล้ว

    Can you provide the video which you have used in your code. Also can you please explain why have you used frame1

  • @anirudhkumar7477
    @anirudhkumar7477 ปีที่แล้ว

    That was amazing! Thank you so much

  • @survivaldude29
    @survivaldude29 3 ปีที่แล้ว +1

    After several hours I finally found the correct link to download opencv
    Edit: never mind ,it was still the wrong link ,it’s now been 3 hours.I’m just gonna waste my money on an actual security camera, even though it’s not necessary
    Because I can use codes.

  • @pedro_pinheiro
    @pedro_pinheiro 3 ปีที่แล้ว

    Great video! Thank you for sharing!

  • @berberlim
    @berberlim 2 ปีที่แล้ว

    Thank you so much bro your really helped me, you made my day

    • @justanothergoogleuser
      @justanothergoogleuser 2 ปีที่แล้ว

      Hi! How to download/get the video mentioned in this video

    • @berberlim
      @berberlim 2 ปีที่แล้ว

      @@justanothergoogleuser
      I used my own video

  • @paterfamiliasgeminusiv4623
    @paterfamiliasgeminusiv4623 3 ปีที่แล้ว +1

    Interesting. How could we differentiate between actual movement and camera movement?

  • @Kpsr
    @Kpsr 5 ปีที่แล้ว +2

    i translated it all to C++ and it is compiling but unfortunately there is no contours drew
    edit: after debugging i realized that contours are shown only at first frame
    edit2: okay so after my investigation i found out that in C++ there might be a problem with "=" operator for Mat class and frame1=frame2 isnt working propely. i had to replace it for frame1=frame2.clone()

  • @mujeebsonlineacademy7962
    @mujeebsonlineacademy7962 4 หลายเดือนก่อน

    which camera and components u have used for implementing as a hardware

  • @HM-cw8im
    @HM-cw8im 3 ปีที่แล้ว

    Thank you so much for this awesome tutorial!!

    • @HM-cw8im
      @HM-cw8im 3 ปีที่แล้ว

      @Karaoke By K Thank you!

  • @vigneshkathirkamar3113
    @vigneshkathirkamar3113 4 ปีที่แล้ว +1

    how to select the "thresh" argument for cv2.threshold(). In this video it is mentioned as 20. Is there any criteria for arriving at a value?

  • @TuanNguyen-wo2zq
    @TuanNguyen-wo2zq 4 ปีที่แล้ว +3

    Can I ask if this is real-time or it has some delay? If delay, how much time does it behind from the real-time? Thank you

    • @theaveragepineapple8967
      @theaveragepineapple8967 3 ปีที่แล้ว

      If you still want to know very minimal delay if any on my code from my web cam don’t notice any

  • @kieno5754
    @kieno5754 4 ปีที่แล้ว

    Thanks for this great tutuorial!

  • @menakakonara7957
    @menakakonara7957 4 ปีที่แล้ว

    Really helpful,Thanks

  • @umutcoskun4247
    @umutcoskun4247 5 ปีที่แล้ว +1

    Thank you for this video.
    Question: Why are you showing frame1 and not frame2? Because frame2 should be closer to realtime picture

    • @Ghkfdvbj
      @Ghkfdvbj 4 ปีที่แล้ว +1

      Hi,
      drawing contours ( or rectangles ) on frame is nothing but changing the frame itself. if we draw contours on frame2, in the next iteration frame2 will be frame1 and which not the original frame of video, its modified ( contours written frame) .

  • @jadavpur4
    @jadavpur4 3 ปีที่แล้ว

    Hi...
    Thank you for the tutorial.. It's impressive. I have one question.
    Can we make the animation of moving objects a function of time? the program will run and continuous animation will run???
    Thank you

  • @prasanthjavvaji
    @prasanthjavvaji 4 ปีที่แล้ว +1

    How can I get the video file that have been given as input

  • @adrien123_
    @adrien123_ 4 ปีที่แล้ว

    Hi, I'm developing a python speed tracking project and your video taught me a lot... Could I copy a part of your script to implement it in my project ? that would be cool...

  • @DecodingComputers
    @DecodingComputers 5 ปีที่แล้ว +1

    Good tutorial

  • @Tushar-481
    @Tushar-481 4 ปีที่แล้ว

    The approach is very excellent but the algorithm won't work if the people are not moving cuz when they will stop moving the will be no difference between two consecutive frames hence it won't detect the person. CAN U FIX THIS PROBLEM?

  • @naveenbm3729
    @naveenbm3729 2 ปีที่แล้ว

    Can you please let me know what is the unit for the area of rectangle you r using, for example 700…. Is it 700 mm^2 ? How can I get to know?

  • @muhammaddawoodarsalan5416
    @muhammaddawoodarsalan5416 2 ปีที่แล้ว

    thanks dude appreciate it

  • @redzalmahdin3477
    @redzalmahdin3477 3 ปีที่แล้ว

    Thank you for the tutorial, I am curious, is it possible to use a stream video as the source video? if yes, how is it can be achieve?

  • @shaikhjunaid5577
    @shaikhjunaid5577 2 ปีที่แล้ว

    I want to change my rectangle frame as im using live webcam and the previous code has (frame,(x,y),(x+w,y+h),(0,225,225),2)
    What values should i pick tor my live wecam so that full body can be detected

  • @mirzaabdulrehman428
    @mirzaabdulrehman428 3 ปีที่แล้ว

    its worked thanks..

  • @rohanverma321
    @rohanverma321 4 ปีที่แล้ว +1

    Hey ! Where can I get a similar video?

  • @akshaypendyala
    @akshaypendyala 3 ปีที่แล้ว +1

    What if there are several moving objects other than just persons and ropes, let's say cars, birds, etc. How will you track only persons? It could have been awesome if you explained this Yolo and multi-threading for faster and accurate video processing.

    • @Satchi017
      @Satchi017 2 ปีที่แล้ว

      Have you found the solution????

    • @akshaypendyala
      @akshaypendyala 2 ปีที่แล้ว +1

      @@Satchi017 Nah, after doing this project, I was busy with other tasks.

  • @X31-n7f
    @X31-n7f ปีที่แล้ว

    Can you use this to create data points (X,Y) for that movement every second for example?

  • @chiral4055
    @chiral4055 5 ปีที่แล้ว +1

    Thanks for this great tutuorial.

  • @aacasd
    @aacasd 4 ปีที่แล้ว

    Which database would you prefer to store the data about a person, trace and time they were present in this video?

  • @sarathram3312
    @sarathram3312 3 ปีที่แล้ว

    Why are we assigning frame2 to frame1 while drawing contours and again reading a new frame in frame2??

  • @SadatSafawi
    @SadatSafawi 3 ปีที่แล้ว +1

    how to see the accuracy of this code ?? Please help me with this

  • @logicawe
    @logicawe 5 ปีที่แล้ว

    This is very inspiring content. Thank you for sharing.

  • @ojoj335
    @ojoj335 4 ปีที่แล้ว +1

    Thanks, great tutorial!!! Im trying to capture a window or part of the screen, is it possible to put this through cv2.videoCapture() ?

  • @mvp2372
    @mvp2372 2 ปีที่แล้ว

    Hello. Can it be applied when we are watching any video online?

  • @yunusyavuz6147
    @yunusyavuz6147 3 ปีที่แล้ว

    thx

  • @umarqureshi2650
    @umarqureshi2650 3 ปีที่แล้ว

    If you guys want realtime with a webcam use the following code:
    cap = cv2.VideoCapture(0)
    cap.set(3, 640)
    cap.set(4, 480)
    If you want to use some external camera I think u need to change the number 0 to 1 or another number, I would google it
    I would also google cap.set so u can make sure tht it works for u

    • @joecomets8654
      @joecomets8654 2 ปีที่แล้ว

      That's cool, but I don't know how to add a toolbar to control the video progress, can you teach us how to do it? thanks

  • @mtkavak
    @mtkavak 2 ปีที่แล้ว

    Thank you, how about consecutive images?

  • @osmanhussain6715
    @osmanhussain6715 4 ปีที่แล้ว +1

    how can i know the area limit of small objects(here it was 700 or 900)

  • @abdremo
    @abdremo 5 ปีที่แล้ว

    Nice nice

  • @rajarshimandal3235
    @rajarshimandal3235 4 ปีที่แล้ว +1

    Sir in the very starting of the mp4, why didn't opencv detect the person who was walking along the left side of the window on the narrow footpath?

    • @erikanderson6076
      @erikanderson6076 3 ปีที่แล้ว +1

      The person is far away from the camera, and because of this the number of pixels that person takes up is below the area threshold set in the code. You see as that person comes into the foreground, they occupy more pixels and they start getting detected

    • @rajarshimandal3235
      @rajarshimandal3235 3 ปีที่แล้ว

      @@erikanderson6076 yes I realized it later thanks😊

  • @Ricarrr
    @Ricarrr 4 ปีที่แล้ว

    Congratulations on the great job.
    I would like to know how to put an ID on these people?

    • @franklinjoe52
      @franklinjoe52 3 ปีที่แล้ว

      You should look more into face detection and recognition using the Haars Cascade algorithm. This script is for simple motion detection

    • @ayushagarwal69
      @ayushagarwal69 3 ปีที่แล้ว

      umm , ig you could declare an int variable and then puttext that number on the coordinates on each rectangle and then when the loop is over , you could puttext at the top of screen :" j moving objects detected ", and then you could store that j somewhere (idk much about that ) . But nice idea , that way we can find the no of objects

  • @gustavodslara
    @gustavodslara 2 ปีที่แล้ว

    is it possible to do with real time video streamming? example: from my security cam

  • @shashanksharmadon4295
    @shashanksharmadon4295 4 ปีที่แล้ว

    thanks bro........

  • @abhijeetmandal434
    @abhijeetmandal434 5 ปีที่แล้ว

    Super

  • @serignediewrine7908
    @serignediewrine7908 4 ปีที่แล้ว

    great

  • @rakshitharakshi5968
    @rakshitharakshi5968 4 ปีที่แล้ว +1

    can u tell me which algorithm ur using

  • @franklinjoe52
    @franklinjoe52 3 ปีที่แล้ว

    Really appreciate your vids but please use dark mode. You'll thank me later

  • @nvdhairi
    @nvdhairi 4 ปีที่แล้ว

    Can i know what is the difference between motion detection and object detection? Does it have differences?

  • @anishbhurke847
    @anishbhurke847 4 ปีที่แล้ว

    can we raise an alarm through code if any person comes near the lamppost ?? can u guide on same ??

  • @hadjerBrioua
    @hadjerBrioua ปีที่แล้ว

    I am getting this error:
    Traceback (most recent call last):
    File "c:\Users\orange\Bureau\Learnings\openCv\basic_motion_detection.py", line 19, in
    diff = cv.absdiff(frame1, frame2)
    cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\core\src\arithm.cpp:650: error: (-209:Sizes of input arguments do not match) The operation is neither 'array op array' (where arrays have the same size and the same number of channels), nor 'array op scalar', nor 'scalar op array' in function 'cv::arithm_op'

  • @saadaldossri5348
    @saadaldossri5348 4 ปีที่แล้ว

    Good work, but could you put the code and the testing movie.

  • @fadhelalsuwaidi1221
    @fadhelalsuwaidi1221 5 ปีที่แล้ว +1

    Hi
    Its wonderful video, can u make the camera record when the motion start, I mean record every motion, when camera detect someone moving start to record the video, it will be greate if u teach is how to do it.

    • @Sski85
      @Sski85 4 ปีที่แล้ว

      Not sure if this is helpful. But "Blue Iris" software is capable of doing what you are asking. I have a pc running 6 cameras with it and works very well

  • @youssfinada3410
    @youssfinada3410 4 ปีที่แล้ว

    mille merciiiiiiiiiiiii

  • @loektenbosch8110
    @loektenbosch8110 3 ปีที่แล้ว

    After line 15, I get the following error: "ValueError: too many values to unpack (expected 2).
    The same as in the previous video where this technique is also used.
    Who can help me / point me in the right direction (yes, I already used Google).

  • @mekukun4406
    @mekukun4406 3 ปีที่แล้ว

    Hi! Where can I get the sample video shown in this video ?

  • @favourchianumba5823
    @favourchianumba5823 3 ปีที่แล้ว

    i copied the code shown at the start into a google colab notebook and the video isnt showing up, anyone know why?

  • @elizabethsalas830
    @elizabethsalas830 4 ปีที่แล้ว

    Hi, would this work to track multiple markers on a segmented object?

  • @kraskagm
    @kraskagm 5 ปีที่แล้ว

    When it is taking difference between two frames, shouldn't it be 0 because the same video input is used(captured)?

    • @anirudhpai5617
      @anirudhpai5617 4 ปีที่แล้ว

      I do believe it is taking two frames directly one after the other.

  • @sametakbeyaz5021
    @sametakbeyaz5021 3 ปีที่แล้ว

    Is it possible to do it in the game?

  • @arendelle_ok
    @arendelle_ok 2 ปีที่แล้ว

    can i use vlc window panel as a motion capture ?. cuz i want be able to change the video source

    • @justanothergoogleuser
      @justanothergoogleuser 2 ปีที่แล้ว

      Hi! How to download/get the video mentioned in this video?

  • @videoguy402
    @videoguy402 4 ปีที่แล้ว

    I ran your code with a new video. In the video, along with the people, camera is also moving and the camera is just placed behind a possession. In that case, I am getting multiple rectangles for the same moving objects instead of one. Is there a way to solve this issue?

    • @pratikshamanave9709
      @pratikshamanave9709 3 ปีที่แล้ว

      DO YOU HAVE MORE RECORDINGS TO TEST? CAN YOU MAIL THEM TO ME AT pratiksha.manave99@gmail.com?

  • @harshvirtomar6552
    @harshvirtomar6552 4 ปีที่แล้ว +1

    Can I run it on collab?

  • @anuragaher2400
    @anuragaher2400 3 ปีที่แล้ว

    Can I get the video link? Could anyone help me with the pedestrians walking video?

  • @rishabhkothari7901
    @rishabhkothari7901 4 ปีที่แล้ว +1

    Can someone expalin me the use of line 17 and 18?
    frame1= frame2
    ret, frame= cap.read()
    like what is their use exactly?

    • @noushadkhan360
      @noushadkhan360 4 ปีที่แล้ว

      I want also brother

    • @vigneshkathirkamar3113
      @vigneshkathirkamar3113 4 ปีที่แล้ว

      once your frame2 is assigned to frame1, now both frame1 and frame 2 will have same value, which will make 'diff' variable 0.
      Hence frame2 is set to new value using cap.read()

    • @dojomats
      @dojomats 4 ปีที่แล้ว

      @@vigneshkathirkamar3113 hi vignesh, what is the importance of the "ret, " part?

  • @FaridCenreng-
    @FaridCenreng- 3 ปีที่แล้ว

    How to enable auto suggest opencv on vscode?

  • @Raj-sz9pg
    @Raj-sz9pg 3 ปีที่แล้ว

    Video speed is high. How can we reduce the speed to original?

  • @tinoliterallydd8776
    @tinoliterallydd8776 3 ปีที่แล้ว

    how to add a line that comes from the back?

  • @indiangamersg2585
    @indiangamersg2585 2 ปีที่แล้ว

    Helloji radhe radhe

  • @nicoestay6351
    @nicoestay6351 5 ปีที่แล้ว

    Hi, great video!
    i have a question, how can i know how much people are in the input video?

    • @utmostcreator
      @utmostcreator 5 ปีที่แล้ว +1

      you can extract contours.length or so if I am not mistaken
      if a countours is a list which should have its length

    • @superminecraft902
      @superminecraft902 5 ปีที่แล้ว +1

      count++ in the for contour in contours

    • @Ghkfdvbj
      @Ghkfdvbj 4 ปีที่แล้ว

      Hi, As we are working on frames, so we can find number of people equals to number of contours in each frame by adjusting contours area size ( one contour for one person)

  • @magnetpen_1
    @magnetpen_1 ปีที่แล้ว

    how do you use your webcam

  • @ajinzrathod
    @ajinzrathod 4 ปีที่แล้ว

    Vid starts at 2:34

  • @udaykiran5602
    @udaykiran5602 2 ปีที่แล้ว

    How to add multiple videos bro

  • @antislit_4938
    @antislit_4938 4 ปีที่แล้ว

    Do I need to use a avi can this work with mp4 i tried it but it doesn't work why is this

  • @corepetitusmatematikoskore3482
    @corepetitusmatematikoskore3482 3 ปีที่แล้ว

    why we see such fast detection of people? Why not in natural speed of the video?

  •  5 ปีที่แล้ว

    Hi, thanks for project but how can i change sensitivity?

    • @franklinjoe52
      @franklinjoe52 3 ปีที่แล้ว +1

      You can do a lot of things such as tweaking the contour area selection. Turning it down from 700 will make it more sensitive to smaller movements and turning it up will make it less. Also, tweaking the minimum threshold in line 13 will tune it too

  • @mmtimberframing
    @mmtimberframing 5 ปีที่แล้ว

    Got it to work, but unable to save the output. Can you please share where I would insert this within this particular source code?

    • @Ghkfdvbj
      @Ghkfdvbj 4 ปีที่แล้ว

      Hi, Can you please try this
      below two lines before the while loop
      1) fourcc = cv2.VideoWriter_fourcc(*'XVID') # for windows
      2) out=cv2.VideoWriter('',fourcc, 20.0, (width, Hight)) # we should know the input video width and hight, we should give same width and hight of input video
      below line with in while loop after cv2.rectangle(frame1,(x,y),(x+w,y+h),(0,255,0),2) line
      3) out.write(frame1)
      I have not tried this code, I hope it works.

  • @anupamadhikari6043
    @anupamadhikari6043 3 ปีที่แล้ว

    Why we have None in dilute function

  • @guseechka
    @guseechka 4 ปีที่แล้ว

    How can i crop frames rectangle from video?

  • @kumarabhishek5652
    @kumarabhishek5652 4 ปีที่แล้ว

    hey, i have been using webcam instead of video,why is it showing too many contours even though i have less motions in it??

    • @mohdsameer8609
      @mohdsameer8609 4 ปีที่แล้ว

      will you please send me the coding for this i am non IT student

  • @nagashishsv843
    @nagashishsv843 5 ปีที่แล้ว

    What's the use of taking difference between 2 frames??why it is needed..??
    Please reply..

    • @blz1rorudon
      @blz1rorudon 5 ปีที่แล้ว

      By taking the difference between the two frames, all intensity for parts of the video where things don't move will be reduced to zero (since their values are the same in both frames). The parts of the video where things DO move, however, will have different values in the two frames, and so the difference will result in a non-zero value. The resulting image -diff- will be low-intensity (0) wherever the two frames are the same(no movement) and it will have some intensity for those parts that are different (movement). In this way, diff only preserves the movement of the original video.

    • @dojomats
      @dojomats 4 ปีที่แล้ว

      @@blz1rorudon does this mean that if there is any vibration on the webcam/camera, the whole data cant be used reliably to detect motion?

  • @shiwamjaiswal9653
    @shiwamjaiswal9653 4 ปีที่แล้ว

    How do we decide the threshold value? Isn't it better to use OTSU's Binarization to calculate the threshold value