Thresholding with Match Template - OpenCV Object Detection in Games #2

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

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

  • @AlexTubu
    @AlexTubu 4 года назад +20

    At first I thought that I just wanted to cheat on the game. Then I saw your video. Then I saw the future. And now I know that game will be only the first step for me in this story.

    • @LearnCodeByGaming
      @LearnCodeByGaming  4 года назад +16

      Watch out, the coding might be more fun than the games themselves 😄

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

      And how it's going now?

  • @Гусьэкономит
    @Гусьэкономит Год назад +7

    It has been two years already, where is the continuation? Why did you abandon your channel? You explain better than all my teachers! You're the best! It has been 2 years already, perhaps you have improved object detection, bot performance, and their movement between points, or maybe there's something else interesting to see!

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

    I am learning opencv because I love to automate tasks and I love to play online games and I have to say your channel blows my mind. I watch and re-watch all of your videos. It have been AWESOME learn with you, thank you very much spending time teaching us all.

  • @patwicker1358
    @patwicker1358 4 года назад +20

    Just discovered your channel and am enjoying it very much. I really like your presentation style, the fact that you show manual pages, and that you know what you are going to say with no fumbling.

  • @zen123w
    @zen123w 4 года назад +14

    great explanation of zip(*location[::-1]). Being some what familiar with opencv, I have never come across such a clear explanation of that line before.

  • @thedeveloper643
    @thedeveloper643 4 года назад +7

    i've waited for the next tutorial since the first one and here it is! thank you so much for valuable contents

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

    I love you style of teaching so much, hands down one of my best programming channels.

  • @Charvin
    @Charvin 4 года назад +16

    I have been waiting for this part very eagery, and it was worth the wait. My test script was able to identify objects I show on an image. There is a sense of great satisfaction when you see something you made work.
    Figuring out just the right threshold where the program can find out things quite right was the part which took a bit of time & lots of trial and error (understandable). Really glad that it worked out.
    Thank you! Looking forward to learning from the next videos in the series as well as from the old ones on the channel.

  • @JS-kr7zy
    @JS-kr7zy 4 года назад +3

    super excited for this style of tutorial. Project centered learning is definitely the way to go, and there isn't enough.. I don't want to say "hand-holdy" content, but after you get to a certain point programming kind of takes a leap off the diving board into dense documentation.

    • @LearnCodeByGaming
      @LearnCodeByGaming  4 года назад +1

      Yeah for sure. I try to lead people to the fun stuff so they're more excited to explore on their own from there.

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

    Glad to have found this channel! Keep up the good work Ben! Stay safe amidst of the pandemic

    • @LearnCodeByGaming
      @LearnCodeByGaming  4 года назад +2

      Thanks, you too! Thanks for checking out my videos.

  • @laboratoriya
    @laboratoriya 4 года назад

    Perfect tutorial. This gentleman explains everything crearly.

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

    some of the best python tutorials out there. Much appreciated and good luck to you!

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

    Trying for Path of exile, its hard but your lessons helps a lot.

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

    You're an EXCELLENT teacher. Thank you!

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

    great video, thank you buddy. Looking forward to running through some of your other videos.

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

    Never stop making videos. Your videos are amazing!!!

  • @MrBru96
    @MrBru96 4 года назад +1

    Great video! I look forward to seeing this kind of object detection into a real time video. Keep it up!

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

    Dude your channel is amazing, your presentation is really clear, Keep up with the good work!

  • @keve8586
    @keve8586 4 года назад +7

    you are the man! thank you for your content and channel!

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

    First time I've seen unpacking with *, really cool. Good video thanks :)

  • @ProficusLets
    @ProficusLets 3 года назад +7

    Спасибо за прекрасные уроки дружище!

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

    Ты делаешь очень крутые вещи для очень привычных, для многих, занятий. Большое тебе спасибо!
    You do very cool things for very familiar, for many, activities. Thank you very much!

  • @tobias6361
    @tobias6361 4 года назад

    Amazing that you try that on an Albion screenshot and what a coincidence that I’m using template matching for an Albion project too :D

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

    lovely ! trying to build a bot for a mobile RPG game emulated on Bluestacks, this has been a great help !

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

      @Xarius01 what do you wanna know

  • @palette454
    @palette454 4 года назад

    you saved me so many work hours with openCV

  • @faizaanazam
    @faizaanazam 4 года назад

    Excellent series so far. Thanks, Ben!

  • @leonardochaves6569
    @leonardochaves6569 4 года назад

    thanks for the content. It was everything I was looking for. You even got the game right that I would like to make a bot.

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

    Hey, really enjoy your style in this videos! Keep it up and thanks a lot!

  • @goob6433
    @goob6433 4 года назад +1

    Man this is funny I actually came to your channel with the pyautogui video hoping to code a fishing bot for Albion online, and look what I see! A tutorial for harvesting cabbages

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

    Just came across your videos recently and I have to say you are amazing!
    I have been trying to learn programming for nearly a decade but it never really grabbed my attention, and totally lost by the time i got to object oriented programming. First time ever I am actually enjoying the lessons.
    Subbed and crunching through all your videos!

  • @aidancohen8721
    @aidancohen8721 4 года назад +2

    I love these videos. thanks so much these are great!

  • @tymothylim6550
    @tymothylim6550 4 года назад

    Hello Ben! Thank you for this video! I think the explanations were clear.

  • @svampebob007
    @svampebob007 4 года назад +1

    Really interesting and nice explanation.
    I find that using games to learn how to program is a really neat way to learn the basics of a program.
    Mainly because you are already familiar with the game, but also because there's 1000 different things to "program" for in a game.
    I started with programing a rocket guidance system in KSP by using KOs, but also it made me learn more about Bash and SSH since I was running KSP over the network and I used SSH to connect to the game "telnet console".
    I'm going to hell for this one but:
    One eye on the code, one eye on the console :)

    • @LearnCodeByGaming
      @LearnCodeByGaming  4 года назад

      Yeah the project ideas with games are endless, which is great for beginners because it helps you get a lot more time writing code. Kerbal Space Program is fun, haven't played it in years!

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

    [spanish]
    2023 y me ayudas un monton con todo esto. lo usare para programar bots >:D . I♥U so much

  • @ЕвгенийСергеевич-л7с
    @ЕвгенийСергеевич-л7с 3 года назад +3

    Всех приветствую! Бен большое спасибо тебе за твой труд! В русском сегменте ютубу, к сожалению довольно мало именно прикладного использования Opencv, информация подается в виде поверхностного ознакомления. Еще раз тебе спасибо!

    • @ЕвгенийСергеевич-л7с
      @ЕвгенийСергеевич-л7с 3 года назад +2

      Greetings to all! Ben thank you so much for your hard work! In the Russian segment of RUclips, unfortunately, there is quite a little application use of Opencv, the information is provided in the form of a superficial acquaintance. Thank you again!

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

      Полностью согласен с тобой!

  • @cedricdeege5763
    @cedricdeege5763 4 года назад

    Thanks man, really clear and easy to follow!

  • @ColeDockter-g1t
    @ColeDockter-g1t Год назад

    Would love to see a breakdown of diablo 2's pixel bot, which is coded in python & uses this library.
    Hope there are more of these!!

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

    awesome good! very nicee lesson, bro, keep it up, very well explained

  • @Alexander_Meyer
    @Alexander_Meyer 4 года назад +1

    Cant wait for the next episode :D

  • @martinneff1681
    @martinneff1681 4 года назад +2

    Great Tutorial, Thanks

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

    incredible !! super!!! great work!!!

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

    Have you considered making a comparison using YOLO?

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

    you are amazing!! thanks for sharing so much knowlodge (:

  • @lordraphi
    @lordraphi 4 года назад +1

    Waiting for the next one

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

    Amazing series ! Can you give some spoiler for the next episodes? xD

    • @LearnCodeByGaming
      @LearnCodeByGaming  4 года назад +6

      Thanks! Part 3: Grouping rectangles and calculating mid/click points. Part 4: Fast real-time image capture. Part 5: Real-time object detection. Part 6: Image processing for better match results. Part 7: Integrating automated clicks and bringing it all together. Might be a few parts past that, too.

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

    Great video! Thank you for this great tutorial I. I am hoping to use this for detecting what round I am on in nazi zombies.

  • @falsemessiah5515
    @falsemessiah5515 4 года назад

    keep doing this! ive learned alot

  • @Backflipmarine
    @Backflipmarine 4 года назад +2

    Can you use multiple images or is that more tensorflow? Whens the next vid btw?

    • @LearnCodeByGaming
      @LearnCodeByGaming  4 года назад

      You can search for multiple images, but it starts getting slow pretty fast in my experience. I filmed the next video earlier today, so I should be done editing and have it uploaded in 2-3 days.

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

    thanks alot for these tutorials. I am also learning as I follow along slowly. I have a question, for your for loop, would it be possible (or easier) to compact into a list comprehension? if so, how would that work?

  • @dr.kingschultz
    @dr.kingschultz 3 года назад

    Thank you for the videos!

  • @jayadevashok2070
    @jayadevashok2070 4 года назад

    Awesome tutorial bro!!!

  • @nburn8306
    @nburn8306 4 года назад +2

    I ran into a problem with the code example at 10:23. When running that in VS Code my CPU usage spiked, the program took 5-10 minutes to finish, and the image result was different from the one in the video. For anyone having this example freeze up on them, the issue for me seemed to be calling "cv.waitKey()" with no argument (line 35). After changing "cv.waitKey()" to "cv.waitKey(0)" the code ran in a fraction of the time and produced the expected image result.

    • @LearnCodeByGaming
      @LearnCodeByGaming  4 года назад +1

      Thanks for pointing that out! From video 4 I started using cv.waitKey(1) myself. I don't recall why I made the switch, but I probably ran into problems, too.

    • @nburn8306
      @nburn8306 4 года назад

      @@LearnCodeByGaming Weird, I just went to double check and can't recreate the bug anymore. waitKey now works even without an argument. Some "magic smoke" stuff going on in my computer...

    • @LearnCodeByGaming
      @LearnCodeByGaming  4 года назад

      @@nburn8306 Oh man that'll drive you crazy. Glad it works I guess?

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

    Hey,
    Great tutorial!
    Is it possible for you to make some tutorial on how to walk your character in in a defined square? I am trying to make a bot for pokemon game farming in grass and I am not sure how to move my character in the same area without it going to the wrong way.
    Thanks!

  • @t-72k16
    @t-72k16 4 года назад +1

    Thank you so much for these, i was wondering if you can go into some better object detection that can handle camera angle changes in game?

    • @LearnCodeByGaming
      @LearnCodeByGaming  4 года назад +1

      Yeah that does get tricky when the camera angles change. I'm going to be covering more and more advanced topics as this series continues.

    • @t-72k16
      @t-72k16 4 года назад

      @@LearnCodeByGaming using the other technique of for looping through each pixel and seeing if it matches a color on a list. It works pretty well but can be slow at times

  • @TravisJMedia
    @TravisJMedia 4 года назад +2

    Amazing, thanks for your tuts! Can you show us an example on how to use opencv to let the bot detect when the bot reaches the edge of a zone? I'm trying to let my bot gather resources by walking randomly and with an unstuck feature. Only challenge is that he keeps getting stuck at the edge of the map.

    • @LearnCodeByGaming
      @LearnCodeByGaming  4 года назад +1

      What game?

    • @TravisJMedia
      @TravisJMedia 4 года назад

      @@LearnCodeByGaming Albion

    • @LearnCodeByGaming
      @LearnCodeByGaming  4 года назад +2

      @@TravisJMedia Cool, I'll see if I can find a solution for that and include it in a future video.

    • @TravisJMedia
      @TravisJMedia 4 года назад +1

      @@LearnCodeByGaming Thanks a lot man! You're the best.

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

    I wonder why does it have to reverse the locations, does it mean that np.where() returns the array of ys first then xs?

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

    Thank you!

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

    Awesome !

  • @wolfpackgaming2571
    @wolfpackgaming2571 5 месяцев назад

    what settings do you use in vs code?

  • @venkateshvenky5489
    @venkateshvenky5489 4 года назад +2

    Can we able to detect multiple objects of by giving two different sample templates

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

    Why do you have a black left eye, did you have any blows?

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

    ok, i do have the problem, that a result, which is false, has a higher confidence value, than what i am looking for, so i cant set the threshold higher, cause then i dont get what i want.
    however, my object im looking for isnt static, its kinda a moving gif xD
    still very nice videos so far, learned a lot

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

    Спасибо за видео!

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

    Hello, I,m using openCV to play game Mir4 automate by detect quests in game, please help me some idea!
    Thank you very much

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

    Using python 3.12 and opencv python 4.8.1 and the result format look different in my debugger, I can't scroll through results

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

    it opens for me like 4 windows and in the last it only shows all the images im searching tho after i close same image with same marked sports appear.. any fix ? or its suppose to be like that ?

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

    Your are a boss!!!!!

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

    very cool thank you

  • @AntonVasilev-q3t
    @AntonVasilev-q3t 10 месяцев назад

    KOOOOOOOOOOOL!!!!!!!! THANKS!!!!!!!!!!!!!!!!!!

  • @andreasas1462
    @andreasas1462 4 года назад

    nice project dude

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

    I have Pycharm so can't run and debug i tried to get visual code but can't make it to install opencv on it don't know why
    I am new to coding i try a lot of site codeacadamy, pirple but i just can't still learn you somehow manage to explain a little better then others i hope i manage to learn something from you

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

    Thanks 👍👍👍

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

    Matchtemplate thing does not work comes up with this (-215:Assertion failed) _img.size().height

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

    thanks a lot

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

    For some reason, sometimes it will return a full black image when calling the WinCap.get_screenshot() method. I have to keep restarting the game and visual studio until it works again. Someone figured out this?

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

    Does anybody know a scale-invariant Template Matching method ?

  • @matheuskjn
    @matheuskjn 4 года назад

    Conteúdo muito bom

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

    try out the python plugin and use the '# %%' code block to run python interactive cell

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

    My code draws 5-10 lines for every object for some reason

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

    I use your code:
    threshold = 0.85
    locations = np.where(result >= threshold)
    print(locations)
    # the np.where() return value will look like this:
    # (array([1, 5], dtype=int32), array([1, 15], dtype=int32))
    and this is my result:
    (array([483], dtype=int32), array([514], dtype=int32))
    please help me.

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

    Emm bro. I love you

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

    commenting for the algorithm

  • @CyberZyro
    @CyberZyro 4 года назад

    its way more easier with cascade files

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

    9:20 I think theres a thing called "Transpose" Which is much more intuitive and readable

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

    And peoples think Diablo Resurrected will not have bots :X

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

    it couldn't even select all the required objects without garbage

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

    trying to make a BOT for a game :D