Hand Tracking 30 FPS using CPU | OpenCV Python (2021) | Computer Vision

  Рет қаралды 958,386

Murtaza's Workshop - Robotics and AI

Murtaza's Workshop - Robotics and AI

3 жыл бұрын

In this tutorial we will learn Hand Tracking in real-time. We will first write the bare minimum code to run and then learn how to convert it into a module so we don't have to write it again and again for different projects. The best part is we don’t have to configure 100 parameters along with 20 installs to make it run. Within 10 to 15 mins you will have your model working.
🚀🚀 My Urdu/Hindi AI KZbin Channel 🚀🚀
/ @murtazahassan01
Download Code:
www.computervision.zone/cours...
Premium Courses:
✔️ Computer Vision Game Development Course:
bit.ly/3ttLZ2s
✔️ Computer Vision with Arduino Course:
bit.ly/3wzLB4m
✔️ Advanced Drone Programming Course:
bit.ly/3qs3v5g
✔️ Learn to Build Computer Vision Mobile Apps:
bit.ly/3uioY1J
✔️ Jetson Nano Premium Course:
bit.ly/3L8uIlF
⚙️⚙️⚙️--My Gear - ⚙️⚙️⚙️
👉 Complete Gear 💈: www.computervision.zone/tech-...
👉 My PC Specs 🖥️: www.computervision.zone/tech-...
👉 My Video Shooting Gear📽️ : www.computervision.zone/tech-...
👉 My Laptops 💻: www.computervision.zone/tech-...
👉 Educational Products🧑‍🎓: www.computervision.zone/tech-...
👉 KZbin Starter Kit 🔴: www.computervision.zone/tech-...
Follow Me:
TikTok: bit.ly/3Vo76OQ
Facebook Group: bit.ly/3irDcb7
Discord: bit.ly/3JvyxAM
Facebook Page: bit.ly/3IvpU7W
Instagram : bit.ly/3NdGME3
Website: bit.ly/3ICFTS0
Github: bit.ly/3woU6PS
#ComputerVision
#OpenCV
#CVZone

Пікірлер: 558
@simonhafner4750
@simonhafner4750 3 жыл бұрын
Brilliant! Thank you so much for sharing this topic. The way you explain this topic is very professional and accessible. Keep up your good work!
@shihabshohaul2469
@shihabshohaul2469 3 жыл бұрын
This channel is so underrated!! I'm sure this channel will hit 1 million within short time if other coders know about it.
@johannesalbrecht4705
@johannesalbrecht4705 3 жыл бұрын
I agree :-) !
@murtazasworkshop
@murtazasworkshop 3 жыл бұрын
Thank you for your kind words. Keep Spreading the word and by you help I will be there in no time.
@CodeWithJoe
@CodeWithJoe 3 жыл бұрын
@@murtazasworkshop please update your github, following your video gives me error- cTime = time.time() fps = 1 / (cTime - pTime) pTime = cTime this gives me an error saying pTime is not defined
@sivakrishna1682
@sivakrishna1682 3 жыл бұрын
you need to set pTime to 0 for the purpose of initialization: pTime = 0 hope this solves your error
@mygametyms
@mygametyms 2 жыл бұрын
joke of the day lol..
@ibrahemtaha8177
@ibrahemtaha8177 3 жыл бұрын
amazing tutorial brother!!! OMG from start to finish with detailed explination!! You're AMAZING brother!! plz continue sharing with us more amazing projects and videos like that all the time!
@varunittigi9288
@varunittigi9288 2 жыл бұрын
Not many people do such video... That too with so much detail and explanation.. You have my subscription 👍🏻
@amicableami87
@amicableami87 Жыл бұрын
For anyone who may be looking at this video recently, it looks as though you may need to add a new parameter to the .Hands method. "model_complexity", otherwise you may get an error. (I was), after maxHands just add 1 as an extra parameter (Unless you need to modify this)
@mrruchirgupta
@mrruchirgupta Жыл бұрын
Error resolved after adding model Complexity. Thanks.
@zachytg4227
@zachytg4227 Жыл бұрын
can u please explain more cause ive been trying to and nothing is working
@animeshbiswas2967
@animeshbiswas2967 Жыл бұрын
@@zachytg4227 add extra parameter in _ _init_ _ put “model_complexity”. Then your problem will be solved. Thank You….
@blackberryjam2211
@blackberryjam2211 Жыл бұрын
@@zachytg4227 man
@blackberryjam2211
@blackberryjam2211 Жыл бұрын
@@zachytg4227 same here man
@shreeharjoshi6143
@shreeharjoshi6143 2 жыл бұрын
Best ever explanation. Specially while explaining the parameters and not simply writing them out.
@joetkeshub
@joetkeshub 3 жыл бұрын
Great pedagogy! Instructive and helpful. Thank you Murtaza!
@shahrulgw
@shahrulgw 3 жыл бұрын
Thank you so much for this wonderful project!! Please keep on posting such content, you are really talented! :D
@pinorinaudo2479
@pinorinaudo2479 3 жыл бұрын
Oh my God. Amazing video!!! You're the best
@rudiklein
@rudiklein 3 жыл бұрын
Seen this channel for the first time. I love it already!
@sohorabhossain4615
@sohorabhossain4615 3 жыл бұрын
What a fabulous channel ! Keep up the good works brother.
@sampaksasa3756
@sampaksasa3756 3 жыл бұрын
bro i have learned a lot of great things from this video, thankyou so much brother, pls keep uploading such kinds of videos
@Draxper
@Draxper 2 жыл бұрын
Amazing video. Loved your clarity and procedure of teaching. Subscribed
@mrCetus
@mrCetus 2 жыл бұрын
professional explanation at its peak. thank you so much teacher
@cesarramoncantoecobar643
@cesarramoncantoecobar643 2 жыл бұрын
You, Mr. Murtaza, you are my idol for doing this kind of videos. Thank you.
@nabeast1980
@nabeast1980 3 жыл бұрын
excellent, practical tutorial! I've subscribed :)
@yaronbarlevy8588
@yaronbarlevy8588 3 жыл бұрын
Awesome video as always. Love this channel
@josephdreamz
@josephdreamz 3 жыл бұрын
This is the right tutorial I was expecting... Thank you so much👍👍👍👍👍
@TauheedKhanMohd
@TauheedKhanMohd 2 жыл бұрын
I would be able to follow the tutorial and gets the exact same result as yours. Hats of to you man.
@trr3576
@trr3576 3 жыл бұрын
What a useful content Appreciate your work sir Thank you very much
@xplorecoding2748
@xplorecoding2748 2 жыл бұрын
you are very talented...keep making more videos...i watched more than 10 videos in 2 days
@ilanpeer2116
@ilanpeer2116 2 жыл бұрын
First part was a great intro 👍 The second "module" was a good idea but please try sticking with python's code conventions. Thanks and keep making more videos like this!
@lusher00
@lusher00 2 жыл бұрын
what don't you like? I'm learning python from these videos as much as I'm learning openCV. I don't want to pick up bad habits. I grew up on C (and still wish every language was C)
@NonnofYobiznes
@NonnofYobiznes 3 жыл бұрын
You're amazing my man!
@koraksengupta3554
@koraksengupta3554 2 жыл бұрын
Sir, it would be highly beneficial, if you explain the image stacking function you personally made, in the "open cv in 3 hrs" video.
@samauto69
@samauto69 17 күн бұрын
Absolutely love your videos, cannot have enough of them. I am working on my project and your tutorial is essential for me. A BIG THANK YOU
@byxlettera1452
@byxlettera1452 3 жыл бұрын
Dear Murtaza perfect tutorial. I have found everything I was looking for. Thanks
@murtazasworkshop
@murtazasworkshop 3 жыл бұрын
Glad to hear that
@winstonyeung1461
@winstonyeung1461 3 жыл бұрын
Thank you sir. I am working on a small project exactly on this. Your tutorial helps a lot.
@murtazasworkshop
@murtazasworkshop 3 жыл бұрын
Glad it helped
@jihunbae4795
@jihunbae4795 3 жыл бұрын
Wow . I`m really appreciated for you to upload these wonderful video thx !
@kalyanirajalingham1286
@kalyanirajalingham1286 3 жыл бұрын
You're a fantastic genius!
@youtubeyoutube6205
@youtubeyoutube6205 2 жыл бұрын
I really liked this video, thank you!
@Jhorel.93gs
@Jhorel.93gs 2 жыл бұрын
I from Brazilian and a start learning Lange progamation on 2021 and I love It. Thanks
@Maertaugh
@Maertaugh 3 жыл бұрын
I'm a beginer and your tutorials are greats and so explicite. Thank's a lot.
@murtazasworkshop
@murtazasworkshop 3 жыл бұрын
Glad you like them!
@Abcsciencemusic
@Abcsciencemusic 3 жыл бұрын
@@murtazasworkshop HELP ! .....not able to install mediapipe ERROR: Could not find a version that satisfies the requirement mediapipe ERROR: No matching distribution found for mediapipe
@Abcsciencemusic
@Abcsciencemusic 3 жыл бұрын
@@theryze. I am also using 3.7 ..... already checked.
@toetoeag
@toetoeag 2 жыл бұрын
Excellent explanation and understandable content. Thanks.
@JaredTilston
@JaredTilston 2 жыл бұрын
Great tutorial!! Thank you!!
@Memeistan-ei9ws
@Memeistan-ei9ws Ай бұрын
I have watched the whole playlist, Kepp up the Good work sir Thank you so much
@adriandonca3273
@adriandonca3273 2 жыл бұрын
Creative and sincere, thank you! I will follow you.
@Suman-zm7wx
@Suman-zm7wx 3 жыл бұрын
Really man great job, and thanks a lot for this enthralling tutorial
@murtazasworkshop
@murtazasworkshop 3 жыл бұрын
You’re welcome
@melocovers007
@melocovers007 8 ай бұрын
​@@murtazasworkshopI have error in hand tracking module
@OnePunchHeizou
@OnePunchHeizou 2 жыл бұрын
This tutorial was really helpful, can u do one for stereoscopic cameras as well.
@actionkey8042
@actionkey8042 3 жыл бұрын
Murtaza's Workshop - Robotics and AI -awesomee
@kunalsoni7681
@kunalsoni7681 3 жыл бұрын
really very nice and amazing tutorial 😍❤💕
@vishwas5344
@vishwas5344 8 ай бұрын
I don't know about opencv Library but i could understand everything. Wow how you are good at teaching ❤❤
@ezzeldin101
@ezzeldin101 3 жыл бұрын
Thanks Hassan u r awesome dude!!!
@foralianachawla8771
@foralianachawla8771 3 жыл бұрын
Thanks for sharing your work.
@premprasad3511
@premprasad3511 2 жыл бұрын
Excellent content. Thanks for sharing
@sarthakpatelia9888
@sarthakpatelia9888 3 жыл бұрын
This blowed my mind, Absolutely stunning!! Thanks lot sir for sharing your knowledge.
@shaweewishissime6718
@shaweewishissime6718 3 жыл бұрын
Really truly top video ! I wonder how to use it as a Leap motion alternative. Hassan you're a killer. ;)
@murtazasworkshop
@murtazasworkshop 3 жыл бұрын
Put the camera upside down on a table, and you get a cheap leap motion controller 😂
@Nulamir-ot6nf
@Nulamir-ot6nf 2 жыл бұрын
Hi, amazing project, and that about capture from more than one cameras for more beatiful results?
@yashjha7152
@yashjha7152 17 күн бұрын
Absolute Legend!
@mankybrains
@mankybrains Жыл бұрын
Thanks to all for pointing out the 'model_complexity' issue. I added it to the method __init__ and was able to get it to work now.
@belcamara4874
@belcamara4874 Жыл бұрын
I added modelcomplexity in __init__ but still not working for me
@mankybrains
@mankybrains Жыл бұрын
@@belcamara4874 oh sorry, for init it's double under. Like this "__init__" . Not single _init_. For some reason KZbin isn't showing the first underscore. So two underscores in front and back..... Now it shows... Hope you understood.
@TheRealFrankWizza
@TheRealFrankWizza 2 жыл бұрын
FYI, I found someone who kindly packaged this for jetson nano and raspberry pi. I get a couple of errors, but it seems to work. I just got to the point of the video where we draw the lines to connect the landmarks, and it seems to be working perfectly. Thanks a lot for the lessons!
@murtazasworkshop
@murtazasworkshop 2 жыл бұрын
Great share your results on the Discord Channel
@TheRealFrankWizza
@TheRealFrankWizza 2 жыл бұрын
@@murtazasworkshop Sure, I will get around to signing up soon.
@justus6899
@justus6899 2 жыл бұрын
Hello, love the channel from Kenya, quick question though....at 9:40 when testing if the image is being processed, why didn't you pass variable results into cv2.imshow() function instead of variable img???
@haidyelnagdy2423
@haidyelnagdy2423 3 жыл бұрын
Greate video, helped me a lot. I am trying to crop the hand after detecting it ( if one hand crop it if 2 hands crop both hands as one image) any idea how to do this?
@user-kd1kb6fk1e
@user-kd1kb6fk1e 2 жыл бұрын
Thank you for the good video! I have a question sir How can we enhance the detecting accuracy of the fingertip?? Most of the times it finds the fingertip well, but sometimes it doesn't I would appreciate if you tell me the solutions
@__3093
@__3093 3 жыл бұрын
gj! do more on C++
@kevinflanigan8653
@kevinflanigan8653 2 жыл бұрын
Enjoying this tutorial. For some reason, my version of hands.py has a fifth parameter called "model_complexity" after "max_num_hands". I had to insert that into the class handDetector and in the self.hands definition.
@elizabethmathew3400
@elizabethmathew3400 2 жыл бұрын
thankyou this helped!❤️
@lusher00
@lusher00 2 жыл бұрын
that took me a hot minute to figure out. I'm here to figure out how to mirror the whole thing now so my display matches my gestures. I figured that answer must be in the comments somewhere.
@UltraSolarGod
@UltraSolarGod 2 жыл бұрын
that helped me with my error thanks
@harppadabhishek3295
@harppadabhishek3295 2 жыл бұрын
Thank You bro!😊
@fernandocanepari3795
@fernandocanepari3795 3 жыл бұрын
Great video! Thanks,
@anmolpunetha3994
@anmolpunetha3994 3 жыл бұрын
Awesome🔥
@Mohta69
@Mohta69 3 жыл бұрын
Hello sir, great video btw i wanted to ask if u are into game development or not. If yes then pls make a video or a course on game development. Request from a small fan❤️
@antospin4004
@antospin4004 3 жыл бұрын
Fantastic tutorial!! Do you happen to know why the main function is executed on one hand only?
@amashi6091
@amashi6091 2 жыл бұрын
thank you so much! I've been trying to make it to where I could memify my webcam by making it so that i could teach a very simple model the substitution naruto jutsu and make it so when i did the hand signs it would make me dissapear from camera. Thank you so much
@ErCapoAlex
@ErCapoAlex 2 жыл бұрын
Lol
@GospelMusicians
@GospelMusicians 8 ай бұрын
Do you have anything for C++
@AbdulMajeed-sk1kf
@AbdulMajeed-sk1kf 2 жыл бұрын
Can you make a project in which physical contact is detected such as if 2 people make a handshake or hug each other then it detects it and shows it with a red bounding box. Very good tutorial, subscribed
@davidallan6036
@davidallan6036 3 жыл бұрын
Excellent video, very well explained
@murtazasworkshop
@murtazasworkshop 3 жыл бұрын
Glad you liked it
@KrishuBrawlStars
@KrishuBrawlStars 3 жыл бұрын
You are pro mam 🔥🔥🔥🔥🔥
@kkhyyyz6535
@kkhyyyz6535 2 жыл бұрын
Thanks much Murtaza...thinking about making a Magic Mirror and adding all this automation...i guess you should be able to select stuff on the screen with gestures ?
@g.s.3389
@g.s.3389 3 жыл бұрын
very interesting and useful, it is also quite fast.
@stefanogrillo6040
@stefanogrillo6040 3 жыл бұрын
Greeeeat. It works.
@jucano
@jucano 3 жыл бұрын
Very nice tutorial .What is the use of Z coordinates that appear in each point ?
@2.adityachouksey285
@2.adityachouksey285 3 жыл бұрын
brother thank you soo much with your help i am able to use opencv and hand gesture like a pro thank you soo much bro you will hit 10 million till 2023 i am sure (not writing so i can get a heart my heart voice say this about the chanell
@nguyenangthang7473
@nguyenangthang7473 3 жыл бұрын
thank you teacher :D
@harisreesa
@harisreesa Жыл бұрын
For those who are getting error on inits in module creation....add model_complexity to the parameters and the error will be solved
@dreamwork69
@dreamwork69 Жыл бұрын
Thank u
@chayanmondal3661
@chayanmondal3661 Жыл бұрын
@@dreamwork69 Bro Code Please
@nivitus9037
@nivitus9037 2 жыл бұрын
You are really amazing & motivating bro! No words to say 😊😊😊
@statusworld-hj5jj
@statusworld-hj5jj 2 жыл бұрын
It's amazing 🤟
@Bianchi77
@Bianchi77 2 жыл бұрын
Nice video, thanks :)
@aloksheth7477
@aloksheth7477 3 жыл бұрын
Very nice tutorial
@phee3D
@phee3D 3 жыл бұрын
Hey, great video. I'm using this tutorial to figure out how to move the cursor using finger tracking. Right now I'm using the index finger to move the cursor and it works fine, I'm using pywin32 module to set the cursor using the index finger's tip landmark. One thing I'm not being able to figure out is how do I manipulate the sensitivity of the cursor. I don't want to move my finger across the whole screen to move the cursor from one edge to the other. This is how I set the cursor: landmark ratio (for example 0.5 if at middle of screen) multiplied by 1920 (width of my screen). I feel like I'm missing something really obvious and simple but after a few hours of trying to manipulate the sensitivity, I thought perhaps you have an idea about how to achieve this.
@rehankhan456
@rehankhan456 2 жыл бұрын
If you still haven't found something I think this may help. Find an optimal constant and multiply the cursor distance traveled with your finger distance traveled that may solve the problem Optimal_constant_x = screen_resolution_x/cam_resolution_x Same for "y" also
@TheRealFrankWizza
@TheRealFrankWizza 3 жыл бұрын
Cool, I will try this out tonight. Nevermind, mediapipe is too complicated to get working in python on the jetson nano.
@murtazasworkshop
@murtazasworkshop 3 жыл бұрын
Lol
@mmostafa4699
@mmostafa4699 3 жыл бұрын
thanks for this video
@KSATica
@KSATica Жыл бұрын
Your the MAN!!!!!
@mehdirahali8767
@mehdirahali8767 3 жыл бұрын
Awesome !! pls could u do more Projects in c++
@ramonpaolomaran2253
@ramonpaolomaran2253 3 жыл бұрын
Up
@nguyenvu6371
@nguyenvu6371 3 жыл бұрын
Up
@muhammad_talha
@muhammad_talha 3 жыл бұрын
Up
@clickhere6677
@clickhere6677 3 жыл бұрын
Can we save inputs for gestures like I can command python to do something when my index finger is up?
@akashhebsur4248
@akashhebsur4248 Жыл бұрын
if any one is getting error in detectionCon then change its value from 0.75 to 1, it will work
@lagio0lagio059
@lagio0lagio059 3 жыл бұрын
thank you so much
@luminouseducare9086
@luminouseducare9086 3 жыл бұрын
Nice video! Please, make a video on real time human pose estimation too.
@murtazasworkshop
@murtazasworkshop 3 жыл бұрын
Coming up next ...
@ahmedadel-uv9sj
@ahmedadel-uv9sj 2 жыл бұрын
you might have saved my graduation project damn
@glebmaks369
@glebmaks369 10 ай бұрын
Thank you
@meharajsamisiam4226
@meharajsamisiam4226 3 жыл бұрын
Amazing video!!! thanks for the tutorial! can you kindly suggest me how can i increase FPS in my laptop webcam its near 6-7 fps
@lalitkumarsharma2003
@lalitkumarsharma2003 2 жыл бұрын
Same with me
@jhondavidson2049
@jhondavidson2049 2 жыл бұрын
@@lalitkumarsharma2003 # Required to use webcam of the device.(s3,s4) cv2.imshow("Image", img) # waitkey() waits until a key is pressed here (q) to exit from creating continuous frames. if cv2.waitKey(1) & 0xFF == ord('q'): # very important if you want a continuous array of frames break Use this code at end of while loop so that you will capture video instead of pictures and your fps will increase. You can also use multi-threading etc, but this worked for me.
@KSATica
@KSATica Жыл бұрын
AMAZING!!!!!!!!!!!!!!!!!!!!!!!!
@gorkemkacakgil7141
@gorkemkacakgil7141 Жыл бұрын
For people getting errors from module and not running, you need to add 1 more parameter to self.mpHands.Hands to fix the issue. It changed with new framework in last update in init add complexity = 0 parameter (if you want better detection make = 1) add under other self parameters self.complexity = complexity lastly self.hands = self.mpHands.Hands(self.mode, self.maxHands, self.complexity, self.detectionCon, self.trackCon)
@jazztyanatandroid4909
@jazztyanatandroid4909 Жыл бұрын
Thanks so much, it works
@manishkumar-vz6bw
@manishkumar-vz6bw Жыл бұрын
@@jazztyanatandroid4909 bro can you please share the file link here its not working
@jazztyanatandroid4909
@jazztyanatandroid4909 Жыл бұрын
@@manishkumar-vz6bw There's no any link bro, you just need to add the code like mentioned above
@subhadeeppaul4869
@subhadeeppaul4869 Жыл бұрын
Thank you, it works
@LandoCalrissiano
@LandoCalrissiano 3 жыл бұрын
Do you get higher framerates when you put the I/O operations on other threads?
@wouterbrand2826
@wouterbrand2826 3 жыл бұрын
awsome! how about using this to teach kids typewriting skils. example if you type the q with your index it does not print the character but complain that you mist use your pinkie
@UKReconGamerz
@UKReconGamerz 2 жыл бұрын
So instead of webcams, what would you put for programs that output video/stream such as ps4 remote play?.
@2KNG_LAB
@2KNG_LAB 2 жыл бұрын
맙소사 알고리즘님 감사합니다
@valela6333
@valela6333 2 жыл бұрын
4:10 - amazing coming out
@HariPrasad-ht3tk
@HariPrasad-ht3tk 2 жыл бұрын
Hi sir the video was very useful. Can you also tell how to run it through a Gpu for increased performance
@ahmarhussain8720
@ahmarhussain8720 Жыл бұрын
great video
@usama57926
@usama57926 2 жыл бұрын
amazing................
@kevineleven3379
@kevineleven3379 3 жыл бұрын
Sir we need you're help we use you're project volume gesture control but sir we confused when run handtracking module why it is say created tensorflow lite using xnnn delegate ?is tensorflow lite is backend ???we are confused what is front and back end of this project .
@qymyz_shubat
@qymyz_shubat 3 жыл бұрын
thank you very much!
@murtazasworkshop
@murtazasworkshop 3 жыл бұрын
Welcome!
Computer Vision With Arduino |  2 Hour Course | OpenCV Python
2:05:07
Murtaza's Workshop - Robotics and AI
Рет қаралды 2,7 МЛН
Kitten has a slime in her diaper?! 🙀 #cat #kitten #cute
00:28
Surprise Gifts #couplegoals
00:21
Jay & Sharon
Рет қаралды 31 МЛН
How To Choose Ramen Date Night 🍜
00:58
Jojo Sim
Рет қаралды 53 МЛН
Samsung TV Repair and Upgrade!
10:25
The 8-Bit Guy
Рет қаралды 46 М.
I Tried Adding Computer Vision to Table Tennis
14:56
Murtaza's Workshop - Robotics and AI
Рет қаралды 7 М.
How good is the latest version of ChatGPT? | BBC News
23:16
BBC News
Рет қаралды 80 М.
Desenvolvendo com MicroPython - Bancada do Embarcados
Embarcados TV
Рет қаралды 37
Advance Gesture Volume Control [Part 2] | OpenCV Python | Computer Vision
44:57
Murtaza's Workshop - Robotics and AI
Рет қаралды 50 М.
Hand tracking on Unity | OpenCV with py
0:30
Ametista
Рет қаралды 502
Drone Programming With Python Course | 3 Hours | Including x4 Projects | Computer Vision
3:33:03
Murtaza's Workshop - Robotics and AI
Рет қаралды 6 МЛН
LEARN OPENCV in 3 HOURS with Python | Including 3xProjects | Computer Vision
3:09:08
Murtaza's Workshop - Robotics and AI
Рет қаралды 3,1 МЛН
Kitten has a slime in her diaper?! 🙀 #cat #kitten #cute
00:28