OpenCV Python Tutorial #7 - Template Matching (Object Detection)

Поделиться
HTML-код
  • Опубликовано: 26 ноя 2024

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

  • @ananthramvijayaraj4554
    @ananthramvijayaraj4554 3 года назад +183

    Tim you don't need to apologize for the lengthy explanation, that's the whole reason why we are here.

    • @CommonKnowledge42
      @CommonKnowledge42 3 года назад +9

      This statement right here!
      I wish I could like your comment at least 19 times.

    • @bluidguy4007
      @bluidguy4007 3 года назад +1

      I wholeheartedly agree, there are a few people I watch their videos like this for, and that's why, you do a great job at explaining things, keep up the good work!

    • @ACodingWoof
      @ACodingWoof 3 года назад

      Yup!

    • @joseph13313
      @joseph13313 3 года назад

      You're so right. Sometimes im looking to a tutorial and i need to understand this code's logic to learn perfectly. Tim is doing it so good!

    • @darwinkusuma6757
      @darwinkusuma6757 2 года назад

      i agree, don't need to be sorry for the long explanation, i really thankful you explain it on detail

  • @Atharva_Vashist
    @Atharva_Vashist 3 года назад +28

    I was interested in coding and chose python as my language to start, and you helped me to clear my basics, and explore many modules like opencv , kivy etc. You explain very well. Thank you for your videos. You are the best youtuber teaching python. Keep it up!!!!!!!

  • @raviolismudge
    @raviolismudge 2 года назад +1

    FOR THE LOVE OF GOD, I SPENT MY WHOLE DAY ON THIS T-T
    Thank you so much. I am crying tears of joy.
    My professor refuse to help us with anything that have to do with programming, he only talk about the math behind visualization.
    Thank you so much.

  • @JordanFayter
    @JordanFayter 2 года назад +7

    Tim you do an amazing job no need to apologize for the lengthy explanations they are actually extremely useful. I'll usually watch your videos multiple times just so I know I'm getting the information.

  • @DL-yu8jg
    @DL-yu8jg 2 года назад +3

    Gotta say, this is one of the most well explained Python-related lectures I've ever witnessed. Thank you so much for the video. Really helped me A LOT.

  • @Traxirage
    @Traxirage 3 года назад +3

    Great tutorial!
    For future reference, if you want to select a segment of two lines, you can hold Shift + Alt and drag the mouse. This way it won't select all the way to the end of row, but only to the column you move your cursor to.

  • @jaakkaan4784
    @jaakkaan4784 2 года назад +1

    AMAZING VIDEO THANK YOU for the thoroughness. Absolutely covered all areas where confusion or curiosity could come up!

  • @dionysus2006
    @dionysus2006 3 дня назад

    One thing to note is that we are finding the template in the same image that we got the template from. This means the underlying grayscale should be an exact match. If the images were from a video of a soccer game and you got the template from the first frame in the video the subsequent frames won't have as good of a match. As noted in the video you want the object template to be about the same size as the object in the target image. As the ball gets nearer or farther away you will find you can't detect it using this method.

  • @sunwukong6268
    @sunwukong6268 3 года назад +4

    Your "lengthy" explanation was great. Not as long as you might think and comprehensable.

  • @alexandrevalente9994
    @alexandrevalente9994 3 года назад

    Great example to illustrate the use of the convolution here.

  • @mehmetsezgin2308
    @mehmetsezgin2308 2 года назад

    Tim that is pretty straightforward tutorial. Thanks !

  • @73Ferret
    @73Ferret 2 года назад

    Thanks for this series Tim. You have a very nice style of presenting and explaining how the code works.

  • @RandomGuy-df1oy
    @RandomGuy-df1oy 3 года назад +1

    At the end of the video, you don't need to resize the image at every step. Just resize where you are showing the image at line 23 as
    cv2.imshow("Match", cv2.resize(img2, (0,0), fx=0.8, fy=0.8))

  • @endab5517
    @endab5517 3 года назад +1

    You are gifted. Thank you for the content.

  • @nicolasa.bermellferrer8025
    @nicolasa.bermellferrer8025 3 года назад

    Your explanation was actually pretty good. Thank you!!

  • @J18040-n
    @J18040-n Месяц назад

    Your tutors are the best, when you don't show your distracting face or when I cover it with black rectangle. I guess they are best for learning Python syntax.

  • @phamminhhung3219
    @phamminhhung3219 3 года назад +2

    Actually your long explanation is useful for us, it illuminates us how things work and you should keep doing that, or maybe you can implement some drawings

  • @tsraikage
    @tsraikage 2 года назад

    how sad I've never found your channel before. i would be step or two higher than i am right now. your explanation methods are outstanding. great job

  • @aimanyounis8387
    @aimanyounis8387 3 года назад +1

    template mathcing is not convolution it's correlation, which means that you don't flip the kernel before you pass it on the whole image : another defintion of correlation is convolution withour flipping.

  • @hackercop
    @hackercop 3 года назад

    Glitch at 12:20 that he forgot to edit out lol. Great video, am trying to learn object recognition.

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

    Great job with your tutorial videos Tim! I understand that with the methods you shown we can find the exact same pixels pattern in the image. Now, I wonder, for example, how could we find all the shoes on the image from the template image without them being perfectly identical. I suppose it will be necessary to go towards artificial intelligence / deep learning? I'd like to know what you would do and see a tutorial video on it.

  • @princemajestal8100
    @princemajestal8100 3 года назад +1

    Hi! I have two questions. First, would it be possible to do this with a webcam feed instead of an image? And second, supposing I don't want to draw a rectangle but wanted to execute some code if there is a match, what condition would I use for my if statement? Thanks a lot, great video!

  • @w-e-7963
    @w-e-7963 3 года назад

    Great video - thanks. You might want to use the word 'assign' instead of 'is equal to' (let the math teachers have the latter one).

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

    Grrat explanation bro, thank you so much

  • @jollokim1948
    @jollokim1948 3 года назад +4

    How come i was not notified about this video. Damm you YT 🤦‍♂️

    • @spook2387
      @spook2387 3 года назад

      He accidentally released it instead of ep. 6 and then set it to private so you've received the notification for that time. At least that's what I understood that happened.

  • @Yurgen_S
    @Yurgen_S 2 года назад

    Tim, Id like if you could give me some tips, I'm facing a similar problem to this pattern matching thing:
    I have patterns, they are very simple in shape and color (triangles, squares and such), but i'm *trying to detect them in video*.
    And in the live feed, *unlike this one-to-one matching*, the patterns could appear bigger, smaller, maybe slightly off colored.
    I get that i'll be processing multiple frames as individual images, and I know there are some techniques to help me with "video variables" that may distort patterns, like applying histogram exposure equalization, noise filters, etc.
    What should i be looking around, in OpenCV? I'd have to classify what symbol it is, but maybe matching for each possible symbol might do it for me.
    What other more robust, AI-ish techniques could i apply to have more "safety" against such variables?

  • @peschebichsu
    @peschebichsu 3 года назад +1

    Does it also work to match similar images too (like I think it was pyautogui, where you can give it a required confidence)?

  • @RasmusE
    @RasmusE 3 года назад +1

    Hi Tim, great videos about CV2. If I want to create template matching in CV2 but the template and the image are of different sizes. How do I account for that?
    Once in a while I get a secret message consistent of characters in different alphabets and I want a script where I can select one character and have it look through a bunch of images with all the alphabets I know and make a comparison. It could be something like the Arcadian Alphabet or Antiker code I have to match against.
    Any help in the right direction would be appreciated.

  • @pranaygundu
    @pranaygundu 3 года назад +1

    hey "tech with tim youtube ":) , I just started open cv course and I am really enjoying it :).
    but should I need to master the math behind openCV functions ???? to be a good programmer .........whatever :) ...........

    • @abdullahahmed7781
      @abdullahahmed7781 3 года назад +1

      if you just want to *use* openCV then you dont really need to understand the math. But yes good programmers are also good mathematicians, understanding maths is very important in CS.

    • @pranaygundu
      @pranaygundu 3 года назад

      @@abdullahahmed7781 thank you so much😭😎

  • @jeepjr
    @jeepjr 3 года назад

    Teacher, first congratulations for the channel. I need your help, I have a simple image with a range of 5 placements where the quantity is identified, how do I identify the biggest color type red and say where the X,Y is, and if you can help me, and only for create an alert.

  • @addohm
    @addohm 3 года назад

    Tim, what about margin of error? What if there is a different pattern ball?

  • @zack8247
    @zack8247 2 года назад

    Great video!

  • @olekristianmller-hansen4220
    @olekristianmller-hansen4220 10 месяцев назад

    Hi! Can I use multiple templates of soccer balls and add up the results to better detect soccer balls?

  • @dreamwork69
    @dreamwork69 2 года назад

    My question is so everytime we have to run 6 different windows like that or we just pick one method that work best? Thank u

  • @shreyasvedpathak5579
    @shreyasvedpathak5579 3 года назад +1

    I tried this tutorial on another image which is from another sport involving a ball i.e. cricket, and coincidently, the third model plotted a bounding box on the player's chest. Is this the model's issue or are we misinterpreting the output for that model?

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

      Perhaps you need a neural network and trained with the desired results

  • @alessiopierdominici4240
    @alessiopierdominici4240 3 года назад

    Which chair are you using?

  • @bharathc7033
    @bharathc7033 11 месяцев назад

    i will run in open cv template matching and my rectangle line shoe multiple line why?

  • @nilaier1430
    @nilaier1430 3 года назад +1

    Hey, btw, how can you detect multiple different templates in the image? I'm trying to find an answer to this tricky question, but can't find it anywhere.

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

      Why don’t you run the code several times ?
      Or loop it ?

  • @ShubhamTure
    @ShubhamTure 3 года назад

    image assertion failed (-215) . Even after image is being loaded properly. Any help?

  • @alexkotov2983
    @alexkotov2983 3 года назад

    Is there a way to increase accuracy of matching? I'm trying to detect objects on my screen but it doesnt work.

  • @muhammadsalah9598
    @muhammadsalah9598 3 месяца назад

    enjoyable content

  • @smoothrain
    @smoothrain 3 года назад +1

    Love you tim

  • @ricard458
    @ricard458 3 года назад

    In the following command I multiplied by 4 to get a bigger rectange. How can I save only the image of this rectangle ? cv.rectangle(img_rgb, pt, (pt[0] +w*4, pt[1] +h*4), (0,0,255), 2)

  • @py_tok5589
    @py_tok5589 3 года назад

    lovely quite cool TIM, THE MASTER. can you detect /extract dimensions? can you extract the diameter of the ball roughly? may be you do a tutorial extracting dimensions from images. Thank you Tim

    • @chrismckinley3110
      @chrismckinley3110 3 года назад +2

      Wouldn't the rough diameter of the ball be the width of the square cv2 draws around it?

  • @deventurewithalex
    @deventurewithalex 3 года назад

    hallo Tim i did not get the tutorial 5 i don't know why
    is it normal or did i missed something

  • @cleancode9601
    @cleancode9601 3 года назад

    Sir please upload some video on curve analysis... please sir

  • @JainmiahSk
    @JainmiahSk 3 года назад

    Please do series on product recommendation system

  • @kewalshah6448
    @kewalshah6448 2 года назад +1

    Can someone tell me the name of software he's using for this code
    I am using PyCharm but it is giving me some difficulties

    • @ther3negade273
      @ther3negade273 2 года назад +1

      sublime text editor, but sublime by default does not have a compiler so you can use the command prompt to run the code

    • @kewalshah6448
      @kewalshah6448 2 года назад

      @@ther3negade273 thanks man 👍

  • @vingo1998
    @vingo1998 3 года назад

    Great video! You are so cool

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

    Thank you :)

  • @infernozayed9559
    @infernozayed9559 2 года назад +1

    It's not soccer, It's Football!!

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

    Everything is clear other than the explanation of using TM_SQDIFF and TM_SQDIFFNORMED. What is this line doing?

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

      thats the image recognition method that is being used

  • @mohamaderfanmirkhani6202
    @mohamaderfanmirkhani6202 2 года назад

    how can do Template Matching on video?

  • @mickon7404
    @mickon7404 3 года назад

    My opencv doesn't work :((

  • @ŒG̃-r1x
    @ŒG̃-r1x 2 года назад

    nice

  • @VictorPerez-od7zh
    @VictorPerez-od7zh 3 года назад +2

    Weird I didn't see tutorial #7 2 days ago or yesterday

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

    result = cv2.matchTemplate(img2, template, method)
    cv2.error: OpenCV(4.8.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\templmatch.cpp:1175: error: (-215:Assertion failed) _img.size().height

  • @justwatchv
    @justwatchv 3 года назад

    ❤️❤️❤️❤️❤️

  • @komalgupta2226
    @komalgupta2226 3 года назад +1

    You were literally fast posting videos lol

  • @vrtheking
    @vrtheking 3 года назад

    You streamed Chess in Discord just now...

  • @ananthramvijayaraj4554
    @ananthramvijayaraj4554 3 года назад

    Why are there only 470 views on this video or is it that my phone is glitched out

  • @WakilSahak
    @WakilSahak 3 года назад

    ❤️

  • @jagermeister1888
    @jagermeister1888 3 года назад

    Hey, i'm looking for collaboration into any python projects (my skill is somewhere at intermediate level ), let me know if you need help or if u just want to share your code with someone :)

  • @dangus5326
    @dangus5326 2 года назад +1

    DUDE Wut 1:00

  • @saulaxo
    @saulaxo 2 года назад

    no fun playing "where's waldo" afther this

  • @faneeshmunjal3308
    @faneeshmunjal3308 3 года назад

    First!!

  • @malhardharmadhikari5831
    @malhardharmadhikari5831 3 года назад

    Ig I will never be able to do big project

  • @krishnamenon5566
    @krishnamenon5566 3 года назад

    First

  • @nelsonchika
    @nelsonchika 3 года назад

    Second

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

    muchas gracias por compartir, comprendo como funciona pero no me funciona jeje..... [WinError 2] El sistema no puede encontrar el archivo especificado
    [cmd: ['py', '-u', 'C:\\Users\\Luis\\Desktop\\AGROLUIS =)\\practica lll\\template matching\\OpenCV-Tutorials-main\\tutorial1.py']]
    [dir: C:\Users\Luis\Desktop\AGROLUIS =)\practica lll\template matching\OpenCV-Tutorials-main]
    [path: C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Users\Luis\miniconda3;C:\Users\Luis\miniconda3\Library\mingw-w64\bin;C:\Users\Luis\miniconda3\Library\usr\bin;C:\Users\Luis\miniconda3\Library\bin;C:\Users\Luis\miniconda3\Scripts;C:\miniconda;C:\miniconda\Library\mingw-w64\bin;C:\miniconda\Library\usr\bin;C:\miniconda\Library\bin;C:\miniconda\Scripts;C:\Users\Luis\AppData\Local\Microsoft\WindowsApps;C:\Users\Luis\AppData\Local\Programs\Microsoft VS Code\bin]
    [Finished]

  • @rayaanibrahim4808
    @rayaanibrahim4808 3 года назад

    4th

  • @tcgvsocg1458
    @tcgvsocg1458 3 года назад

    Your really good your soft really bad

  • @Eswar.
    @Eswar. 3 года назад +2

    How to completely learn one language make a roadmap please
    And also smile in videos
    Dont be like a robot

    • @ananthramvijayaraj4554
      @ananthramvijayaraj4554 3 года назад +1

      True there isn’t much humour in the vids but the quality of the content is amazing

    • @Eswar.
      @Eswar. 3 года назад

      @@ananthramvijayaraj4554 yes i know

  • @shahriarhajiabbasi830
    @shahriarhajiabbasi830 3 года назад

    I HATE that shirt ....

    • @Dg2020
      @Dg2020 3 года назад +1

      who cares?

  • @sohannikumbh4802
    @sohannikumbh4802 3 года назад

    Second