Тёмный

11.7: Computer Vision: Blob Detection - Processing Tutorial 

The Coding Train
Подписаться 1,7 млн
Просмотров 130 тыс.
50% 1

In this computer vision tutorial, I build on top of the color tracking example and demonstrate a technique known as "blob detection" to track multiple objects of the same color.
Support this channel on Patreon: / codingtrain
Send me your questions and coding challenges!
Contact: / shiffman
Links discussed in this video:
Computer Vision for Artists and Designers by Golan Levin: www.flong.com/texts/essays/ess...
Image Processing in Computer Vision: openframeworks.cc/ofBook/chapt...
Source Code for the Video Lessons: github.com/CodingTrain/Rainbo...
p5.js: p5js.org/
Processing: processing.org
For More Computer Vision videos: • Computer Vision
For More Coding Challenges: • Coding Challenges
Help us caption & translate this video!
amara.org/v/QbrM/
📄 Code of Conduct: github.com/CodingTrain/Code-o...

Опубликовано:

 

6 июл 2016

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 74   
@boiimcfacto2364
@boiimcfacto2364 3 года назад
I know I say this a lot in the comments, but holy hell was this video incredible! I'm watching it 5 years later, and it just helped me develop a large scale project. These videos are a treasure trove of information Dan, love you for these!
@finalfantasy7820
@finalfantasy7820 5 лет назад
I can't believe you just made me watch a 21-min video about something I already know.
@dhananjaysonawane1996
@dhananjaysonawane1996 3 года назад
A perfect teacher! There is algorithm + code + corner cases + customization + dance + most important fun !! Liked, subscribed and I am going to explore your channel!! Thanks for the content :)
@furrane
@furrane 8 лет назад
The blobs attack at the end was epic haha :) Great stuff as always :)
@TheCodingTrain
@TheCodingTrain 8 лет назад
Heh, thanks!
@FlavourlessLife
@FlavourlessLife 7 лет назад
Lol great tutorial, Blob Man. Not only am I learning lots, but you're also cheering me up in the process!
@benjaminrigsby1606
@benjaminrigsby1606 4 года назад
I learned two things from this video. DIY blob detection and DIY v-neck. Thank you.
@NerdMusician
@NerdMusician 5 лет назад
Why bother paying Netflix when we have The Coding Train. Your tutorials have been so useful (and entertaining)!
@yoyomemory6825
@yoyomemory6825 4 года назад
OMG, I never knew that your code training course also covered the image processing part.!!! That' s greaaat! Thank you.,
@ahmadsebaq2244
@ahmadsebaq2244 7 лет назад
Man, you're awesome. I've learned and known away more about programming from your videos. Thanks a million ^^.
@TheCodingTrain
@TheCodingTrain 7 лет назад
Thank you so much!
@absolutedogy346
@absolutedogy346 6 лет назад
I feel like I want you to be my best friend, most genuine and good teacher I have ever seen on youtube, reminds me of classic thenewboston when I first got into programming, you really have a special talent and I wish I could just sit and absorb your knowledge forever
@chrisgavin
@chrisgavin 4 года назад
Loving these classes, thanks!
@atrashdingdong8870
@atrashdingdong8870 3 года назад
You're awesome! Thank you for making these videos, it brings so much joy into my life!
@georgexu9591
@georgexu9591 7 лет назад
Great work! I've read all your books and now finally see your face~ XD
@birendrayasas6764
@birendrayasas6764 7 лет назад
i wish he is our lecturer...so i wont skip classes.awesome teaching skills...
@pulkitgupta2434
@pulkitgupta2434 4 года назад
Dude, you are the coolest guy on the internet
@carlosaugustopinheirodesousa
@carlosaugustopinheirodesousa 7 лет назад
Fantastic teaching skills man! Great work!
@TheCodingTrain
@TheCodingTrain 7 лет назад
So nice to hear, thank you!
@DogwafflDan
@DogwafflDan 8 лет назад
I love that you're covering some fairly complex subjects. There are a few areas in computer graphics that continue to baffle me: Working in gradient domain and converting back to RGB color model. FFT for 2D images fluid simulation
@RameenFallschirmjager
@RameenFallschirmjager 5 лет назад
damn! this channel is a virtual university! you handle such deep concept like nanny sings a lullaby! I name you the Aaron of the computer programmer! now I just need to find the Moses!
@UltraGameCoder
@UltraGameCoder 6 лет назад
you can also return a condition instead of if/else statement: return (d < distSqrt(x,y,px,py)); instead of if (d < distSqrt(x,y,px,py)) { return true; } else { return false; } same goes with simple values. let's assume we want to return 5 or 10. return ((d < distSqrt(x,y,px,py))? 5 : 10); this is how it works:if (condition)? if true : if false; condition = your check. ? = which side do I need to execute. left side of : symbol = if true is the result of the condition. right side of : symbol = if false is the result of the condition. hope you've all learned something by this message.
@hamzahassan8024
@hamzahassan8024 4 года назад
thank you so much for sharing really inspired me to code more
@SachinBhangale
@SachinBhangale 4 года назад
Thank you, very useful fun learning video.
@ChicagoBob123
@ChicagoBob123 7 лет назад
Thanks so much. Love this.
@geoffwagner4935
@geoffwagner4935 11 месяцев назад
I just had nearly one of the scariest moments of my life, the Coding Train channel glitched and said Zero Playlists! "NooooooooooooooooooooooooooooooooOOOO!"
@mikouh
@mikouh 5 лет назад
You should do a video on emotion detection with openCV, I currently have a project to do, and I wanted to do a smile detector and some typography animations, but I can't seem to find very many good stuff on this subject. Love your work btw
@andrewlozano88
@andrewlozano88 8 лет назад
YESSS!!! AWESOME!! GOES PERFECT WITH MY PROJECT!!
@TheCodingTrain
@TheCodingTrain 8 лет назад
so glad to hear!
@AfifatulMukaroh
@AfifatulMukaroh 5 лет назад
Amazing tutorial!!!!! :)
@kangachiken4374
@kangachiken4374 8 лет назад
Was this in a stream!?!?! Did i miss it!?!?! Thanks for these awesome videos Dan, I'm 16 and learning to code in general, but your videos are so energetic and motivating! Inspiring stuff keep it up!
@andrewlozano88
@andrewlozano88 8 лет назад
haha , he makes me crack up up sometimes . fun to learn with Dan!
@TheCodingTrain
@TheCodingTrain 8 лет назад
Thanks for watching!
@funwithariyan7347
@funwithariyan7347 3 года назад
THANK YOUUUUUU (is it weird that im learning this in middle school without my teacher telling me to)
@chamarakv98madushanka41
@chamarakv98madushanka41 6 лет назад
Awsome broh...
@thankyouthankyou1172
@thankyouthankyou1172 4 года назад
omg , I kept laughing and laughing. so interesting playing with the blobs
@saeidyazdani
@saeidyazdani 4 года назад
best teacher ever
@micmicmw
@micmicmw 3 года назад
Wonderful video thank you =)
@hamzahassan8024
@hamzahassan8024 4 года назад
i loveddd it
@Demirci91
@Demirci91 7 лет назад
thanks bro
@quakquak6141
@quakquak6141 8 лет назад
I think you could obtain a better result with a much lower treshold and a different way to calculate the distance between a pixel and a blob, you need to calculate the shortest distance between any pixel of the blob and the given pixel, this way if the red area is big you won't get a lot of small blobs next to one another even if you don't exclude small blobs
@TheCodingTrain
@TheCodingTrain 8 лет назад
oh this is a great point! I'll try to make these improvements in a future session.
@quakquak6141
@quakquak6141 8 лет назад
I'm glad that I was helpful, I noticed that if you had a treshold of 20 (let's say 20 pixel of distance using the dist function and not the distSq one) if a blob becomes bigger than 40x40 pixel even if a red pixel sit right next to it's border it will be excluded from the blob
@esmeraldaazucena3438
@esmeraldaazucena3438 7 лет назад
very nice tutorial..I have a question sir, is it possible that I can get the Object's height and width if I pixilate the object in an image
@JaviepalFordring1
@JaviepalFordring1 8 лет назад
O MY GUD!!! YOU'RE THE BEST!!!! and, what's kind of ide is that?!?!!
@TheCodingTrain
@TheCodingTrain 8 лет назад
It's processing.org!
@SiddharthMaurya7
@SiddharthMaurya7 4 года назад
Awesome!! :D
@thearajr7583
@thearajr7583 7 лет назад
could you show me how to track color possition? thank you :)
@hcemreyilmaz
@hcemreyilmaz 7 лет назад
How can we decide that, our blob is circle or not? Do you have a tricky idea for this purpose?
@kalvinkrishna6879
@kalvinkrishna6879 7 лет назад
nice tutorial sir, but i still not get any idea, how could you create blob object?? how could you detect Red color into blob object?
@nicolassaganias5155
@nicolassaganias5155 5 лет назад
Hi! How can I track blobs of a video file, instead from the camera?
@darylbantillo2810
@darylbantillo2810 6 лет назад
Is it applicable on android studio and opencv? sorry im a newbie...
@yuyinghan6317
@yuyinghan6317 4 года назад
How can I set the colors that need to be tracked without clicking with the mouse?
@grillodesignstudio7334
@grillodesignstudio7334 4 года назад
Hi, it s possible to have a tutorial about tracking and draw on capture video? Help!
@ferdinandmarquita9259
@ferdinandmarquita9259 5 лет назад
can you make a video of circle shaped blob?
@selvapriya4115
@selvapriya4115 5 лет назад
i try to track white pixel in a image, when the pixel moves,it merge with non moving white pixels.. how can i separate moving and non moving pixel in a image using opencv c++
@kamanyuhuhu9985
@kamanyuhuhu9985 4 года назад
Can i get shape detection without using coloring filter ?
@sarahkatecre8
@sarahkatecre8 6 лет назад
Would be interesting to experiment with the smaller threshold (as code is in 14.44 of video), when you 'comment out' the line of code that clears the blobs, you are able to track more than one colour when the mouse is clicked because it retains the previous colour as well as the new one.... Would it be possible to also remove blobs of colour being tracked with a right mouse button click or key pressed? Would also be interesting to find the average /center location of that specific colour - on the entire screen or within the larger blobs which you develop at the end of the video (and in the next couple videos in this series of course XD)
@TheCodingTrain
@TheCodingTrain 6 лет назад
I like all these ideas! You could definitely keep an array of colors you are seeking and add / remove from it!
@kumareshr5975
@kumareshr5975 7 лет назад
Give some tutorials on webVR and openCV
@dazzid
@dazzid 8 лет назад
novel price for Daniel!
@sarlupe
@sarlupe 5 лет назад
I'd love to see how to generate a high res heatmap such as codeflow.org/entries/2013/feb/04/high-performance-js-heatmaps/ from a lower res data input.
@preadatordetector
@preadatordetector 7 лет назад
You need a refactor tool there buddy?
@MrSerrakos
@MrSerrakos 7 лет назад
You are amazing !!!!!! I learned too many things on Java and Processing W I T H O U T book in just O N E week through your videos !!!!! Thank you thank you thank you P.S. I would like some help if you have some time. 1. How do I change your code to detect objects that appear only in an area 250X250 pixels around the center of the screen? ( I did it through a change here : for (int x = 0; x < video.width; x++ ) { for (int y = 0; y < video.height; y++ ) but there is an error about the size of this : color currentColor = video.pixels[loc]; 2. How do I change your code to track only the biggest object that is appearing in the screen ???? Thank you
@alvarobyrne
@alvarobyrne 8 лет назад
how about using some search algorithm: h t t p s : / / en.wikipedia.org / wiki / Category:Search_algorithms. would this help p5js being more performant? the thing is i don't know which search algorithm to use.
@TheCodingTrain
@TheCodingTrain 8 лет назад
Thanks for the suggestion!
@BentleyGadget
@BentleyGadget 4 года назад
You're a goof! But this was good!
@011azr
@011azr 6 лет назад
Dude, why are you always seems so bubbly and happy? Is it drugs or something? xD
@DamianReloaded
@DamianReloaded 8 лет назад
11:44 BUG!!!!!!!!!!!!!!!!!!!!!
@TheCodingTrain
@TheCodingTrain 8 лет назад
ZOINKS
@DamianReloaded
@DamianReloaded 8 лет назад
XD
@jashum8554
@jashum8554 Год назад
Watching you mimic with no sound is rather intertaining
Далее
ЮТУБ ТОЧНО ВСЕ!
11:23
Просмотров 980 тыс.
Detecting Blobs | SIFT Detector
14:52
Просмотров 54 тыс.
Build an Object Detector for Any Game Using YOLO
22:40
Processing (random circles)
15:05
Просмотров 4,7 тыс.
Reveal Invisible Motion With This Clever Video Trick
14:20
Coding Challenge 180: Falling Sand
23:00
Просмотров 851 тыс.
Coding Adventure: Boids
8:35
Просмотров 1,5 млн
3D Gaussian Splatting! - Computerphile
17:40
Просмотров 126 тыс.
ЮТУБ ТОЧНО ВСЕ!
11:23
Просмотров 980 тыс.