This is a goldmine of a resource. I have 3+ years experience with image processing in MATLAB. Totally into Python now and enjoying this awesome tutorial.
@@dremr2038 From my experience, Matlab does not offer as much dynamism and flexibility, so I would definitely go with the former. I've used both but once I made the transition to Python, there was no looking back!
I absolutely dread matlab, i cannot even fathom a language that has 1 indexing. Yes matlab sadly has the audacity to call itself a programming language. Pythons mathplotlib literally has 99% of the functionality of matlab whilst being easier to use.
I was just clicking on random videos on YT and I somehow landed on this course and GOD THANK YOU! Learned a lot and lots of things here that I could've learned nowhere better. Thank you for this course, although there were somethings in the last part of this course that I was not able to understand but I got a glimpse of how things are and how they work, I'll definitely learn them.
2:08:26 - actually everything was OK. You don't need to pass masked image to calcHist mask parameter. You can just pass white circle instead, as you did first time. You can compare both histogram plots and make sure, they are identical. It worked because cats-in-a-circle image is identical to white circle in bitwise operations (if those cats have no zero valued pixels in the circle region)
The best free, very precise, very well explained course on OpenCV. Everything about this course - the pace, code explanation , and the accent (bleu!) was really engaging. Thank you!
Absolute lifesaving course! in the span of a few hours I was able to do my own computer vision projects! Sidenote : the cat pictures were a bit too cute and sometimes distracting haha.
3:29:55 - `x` (images tensor) and `y` (labels) should have the same length - People who are getting this error, convert the list x_train and y_train to numpy arrays x_train=np.array(x_train) y_train=np.array(y_train)
Thank you for the interesting content. The error in the face recognizer is due to 3:04:44 It should be for (x, y, w, h) in face_rects: faces_roi = gray[y:y+h, x:x+w] instead of: for (x, y, w, h) in face_rects: faces_roi = gray[y:y+h, x:x+h]
Completed this in two weeks, what an amazing course! For the computer vision part on kaggle, you might have to use your own model, i recommend convolutional layers. The model used by the tutor is out of date and you might encounter roadblocks. Good thing is, every other line of code works well with any model of choice. Really enjoyed this course and i look forward to doing advance stuff from here!
That was a nice course for starting machine learning but please look at (3:38:00) . We're larning to reach a conclusion . So why the model cannot work correctly?
Hey I see your effort. You all are putting so much effort and time in these videos. I think if you make the roadmaps videos like if you want to become a android developer watch this playlist in which you can mention all the videos that are related to the android development. Yes I know that you already had created playlists but they are kinda incomplete and are not roadmaps videos. And one more suggestion make a playlist of roadmaps videos for different learning paths like you had created pytorch and tensorflow tutorials if they both are mentioned in a roadmap video of data scientist and a pdf in description as if anyonnes wants to print and want the learning steps so he/she can download the pdf. I hope you will like my suggestion. Even I follows your tutorials but i didn't know whether the tutorial is for my path or not and then after researching and learning my own I find that you had made the tutorials but I was not able to identify that the tutorial is helpful or not. So if you do this it will save so much time and everyone will know what to do next. Thanks For Reading My Suggestion :)
I bought a course to learn OpenCV from this website but it was money wasted. The whole thing was filled with too much theory like what is RGB? What is BGR? How do images work? I lost interest so quickly. I LOVE how you are to the point. Your pacing is also perfect. I have never watched anything with 1.0x speed before. THANK YOU for making this course! This video is priceless.
Thank you guys for making such quality videos that has helped millions. I've benefited a lot from your previous tutorials and I'm excited to learn opencv as well! Thank you!!
2:41:06 Tutorial is awesome, the explanations are much better than other tutorials I have tried, only ran into one real issue so far and that was during the "Face detection with Haar Cascades". When referencing the xml file, I found out I needed to implement the full path to the file in order to get it working properly, just thought I would throw that out there in case anyone else runs into a similar problem.
Are you talking about how to solve the xml parsing error that happens? because yes i'm suffering from that currently. What do you mean by full path? because my xml file is saved in the same directory as my face detection file
@@chinmayganguly457 I had the same issue. Just look at your explorer tab (it's on the left in VSCode), right click on your xml and then click 'Copy Path' (or 'Copy Relative Path', it also worked for me)
Yeah, same situation, in my case was because I created a file inside "resources" to have more order, so VS Code needed me to give the exact file path to run haar_face.xml. Thanks for the tip
10:34 video running 11:28 error - 215 assertion error 53:59 flipping image 58:34 canny (for edge detection) 59:12 finding contours 1:07:18 drawing contours 2:47:50 best alg for face detection 2:50:58 getting list in new way
Thanks for all your efforts, spent times, and open source-free courses. Indeed, I've started OpenCV through that course, and it's been a superb starting point for me. And there are also different kinds of courses related to Data Science and am gonna benefit from them as well. Am grateful to know a such channel and a such course..
Hi Jason, I have been going through many courses for OpenCV (Not that I didn't understand them) but I should say even though the course is fast-paced but well explained and especially Chapter BITWISE operations Awesome!..keep it going very well explained and practically show.
"train_gen = datagen.flow(x_train, y_train, batch_size=BATCH_SIZE)" gives a ValueError: "`x` (images tensor) and `y` (labels) should have the same length. Found: x.shape = (80, 80, 1), y.shape = (11047, 10)"
important ones to remember 33:19 five basic methods 1. gaussian blur 2. canny edge detection 3. dilate 4. erode 5.cv.resize ============================================== 45:17 image transformations 1. Translate function 2. rotate function ============================================== 57:55 contours 1. contours list using canny edge detection 2. contours list using blur + canny ed 3. contours list using threshold =============================== 1:12:00 changing color spaces 1. BGR to HSV 2. BGR to GRAY 3. BGR to LAB 4. BGR to RGB AND VICE VERSA ======================================== 1:24:00 extracting colors blue green red ============================================= 1:37:00 Blurring 1. Average blur 2. Gaussian 3. Median 4. Bilateral ============================================ 1:45:35 Bitwise 1. Bitwise and 2.Bitwise or 3. Bitwise xor
Damn, never felt this confident on anything after just finishing the course. Kudos to you guys for bringing out this gem of a tutorial and channel as well. And all of it FREE OF COST🙏🙏
The tutorial is great. Everything is explained in a great way. The only thing that I felt could be improved is by using some constants instead of just writing them again and again like you did in draw.py. You could've specified constant like STARTING_POINT, ENDING_POINT, COLOR and many more which would've made the code much more readable and could've also reduced the tutorial length. I would be making a pull request for this soon. Thank you for this amazing tutorial :)
Final Review of This Course: Okay, if you want to get a very low level understanding of openCV, then this course will work for you. Its good if you need a refresher or are using it to get an idea of some of the important functions in openCV. HOWEVER, you wont really understand why the functions work or why certain parameters are used. I wish the title of this video was called "Referesher Course for OpenCV". Id recommend paying for a longer course that will go a lot more in depth into what these functions actually do and how they work. Regardless, I still learned something, so thank you.
This is a really good resource, but I want to point out that there's error to how he expained match-confidence, somewhere around the (3:10:33) mark. The confidence value represents the dissimilarity or error between the detected face and the recognized face. What I am trying to say is that a lower confidence value is typically better because it means that the detected face is more similar to the recognized face. Edited: Also, the confidence value is not expressed as a percentage!
a structuring element is the NxN matrix that determines the way dilation is calculated. it is not the image that is being dilated. the dilation operator requires 2 arguments. the original matrix and the structuring element, which is basically the kernel and it has a certain size and shape. usually a disk, cross or a square (binary kernels most of the time)
great job so far in 1:11 now and love the content also just realized how amazing these image manipulation softwares are amazing EDIT: Into advance section now and the true power of openCV is here awesome and awesome tutorial
This video is really good for learning new things related to computers..🤩🤩🤩🤩🤩💮..good job guys....I learned almost the concepts...and making a project now..
Hey iam an automated robot created by the RPA Champion to comment on all videos on youtube. I have liked your video. Thumbs up and keep on doing what you doing
1:30:00, I try a little tweak here by using ones() instead of zeros(), then multiple blank by 255, so I can get a white canvas. The results are interesting cause it display sort of CMYK.
I hope I can learn well with this video. I am now korean high school student, and I learn open cv because i want convert my school subject handwriting to word document. Thank you for nice video
if you have time to learn, don't go for "word" documents. rather research about LaTeX (hard, but powerful) and markdown (easy), padoc (a converter) you can do all kinds of cool and advance stuff with your text.
Okay, here's the shortcut I found about VS Code: Ctrl + '/' -> Comments out a line Alt + Up/Down Arrow -> To move text up and down And this is personalized: Alt + D -> Duplicates the lines Please share your shortcuts as well.
I appreciate the tutorial. I'm almost 3/4 of the way through. I just wish there was more reasoning as to why you are learning all the transforms and filters.
A lot of times we filter images to either remove noise or extract features from it. We want to do this so computers can better understand what they are looking at. People can do the naturally without thinking, but computers need to be told exactly what to do. This can be used for various computer vision tasks such as tracking someone in a video, recognizing objects in a picture, or stitching together images to form a panoramic picture.
Been needing this video since last christmas! lol Thank you! -- +9999pts for linking up concepts to examples in the video. Something abt the documentation just gets my mind wandering until I've forgotten what it was I was looking for in the first place. ;D
3:09:05 a 110% "pretty sure there's an error somewhere" .... 3:39:15 "...definitely not the best model that we could've asked for..." this is learning the blind way, nothing replaces reading a good book, more cartesian, more precise.
in arabic we have a proverb, make better or keep silent, I dont judge ur ability to do so but his work is great and I found it amazing , any books for suggestion!!!
Warning, the Simpsons deep learning part is having some difficulties as decay and learning rate are deprecated in Keras 2.3 above, might need to find a new way to overcome it.
uint is not datatype for images but it's a datatype that refers to ONLY positive numbers including zero and NOT negative numbers. it stands for unsigned integer.
Hi Jason, Your course is very detailed and oriented towards practical application of concepts taught. Loved it. I have a personal project which could really benefit from your skills. I am not sure if you do freelance work or are interested to have a listen... Please let me know if i can reach you somehow to discuss this further...
@ 3:06:53 where you write: faces_roi = gray[y:y+h, x:x+h] is that a typo? should be? faces_roi = gray[y:y+h, x:x+w] i think it still works because its a rectangle where the height is longer then the width. This is a great course, Thanks for the content.
Awesome crash course thanks. I too come from a MATLAB background, so I know what to look for. But it's good to see the basics in action to pick it all up with Python/C++ as needed. Thank you, Sir. 👌
This series was so much fun to learn. JazakAllah. PS. Bitwise Operator episode could be renamed: Make a Black Hole using python Just kidding. Stay awesome.
Ohk, If It Reaches Someone Who Is Going To Watch This For Face Recognition, I Would Say Don't Put Your Hopes High, Learn It For Image Manipulation And Go To Recognition With Dlib Instead Of OpenCV As It's A Lot More Accurate, Course Is Really Beginner Friendly Though, But Just Adjust Your Expectation. Good Luck
I stucked an error at 3:30:00 and i surrendered to resolve. Finally, your Github resume back again together with "Fix Sklearn ImportError" which is inside simpsons.py then i follow the github to import sklearn.model_selection as skm and change x_train, x_val, y_train, y_val = caer.train_val_split(featureSet, labels, val_ratio=.2) to split_data = skm.train_test_split(featureSet, labels, test_size=.2) x_train, x_val, y_train, y_val = (np.array(item) for item in split_data) So far, I don't find error at all. Thanks a lot
@@forgewhelbon1131same bro, there was a very dangerous snake in my shop a few days ago, that is why I m searching for python, I found this tutorial very useful
3:27:20 if you're following along with pycharm from tensorflow.python.keras.utils.np_utils import to_categorical should be used instead of from tensorflow.keras.utils import to_categorical
In this case 11:26 : isTrue, frame = capture.read() while isTrue: cv.imshow("Video", frame) isTrue, frame = capture.read() if cv.waitKey(20) & 0xFF == ord("d"): break or use try/except: while True: try: isTrue, frame = capture.read() cv.imshow("Video", frame) except Exception as e: print(e) break if cv.waitKey(20) & 0xFF == ord("d"): break
Hi, I am using OpenCV in Ubuntu 20 and it is kinda weird to say but it is somewhat different from what is being shown in the video. When I hover my mouse over the image, I can see the X-Y coordinates as well as the R, G, B values of those pixels. Also, there are some hidden buttons that allow me to zoom in, zoom out, and save the image. Anybody else experiencing the same?
Thank you ! Wonderful video. I encountered problem when trying to run ' Face Recognition with OpenCV's built-in recognizer' (Face Detection ' works) at the line face_recognizer = cv.face.LBPHFcaeRecognizer_create() Attribute Error: module 'cv2.cv2' has no attribute face Surfing the net, for solution, realized, many people have encountered this problem Any help appreciated
I fixed this error, it took me some time to figure out, many users have been struggling with this error by mistake, I had installed both opencv-python & opencv-contrib-python Even after uninstalling opencv-contrib-python, I was continuing to get the following error --------------------------- Successfully uninstalled opencv-contrib-python-4.5.2.52 python3 faces_train.py Training done --------------- Traceback (most recent call last): File "faces_train.py", line 44, in face_recognizer = cv.face.LBPHFaceRecognizer_create() AttributeError: module 'cv2.cv2' has no attribute 'face' --------------------------- Then it stuck me, it is picking the cv2 from some where else I reconfirmed this with Python shell & pip list ------------------------------ python3 Python 3.7.6 (default, Jan 8 2020, 19:59:22) [GCC 7.3.0] :: Anaconda, Inc. on linux Type "help", "copyright", "credits" or "license" for more information. >>> import cv2 >>> cv2.__version__ '4.5.1' pip list | grep opencv opencv-python 4.5.1.48 ---------------------------- Then once I uninstalled, opencv-python and reinstalled opencv-contrib-python, ONLY the error message vanished and face_recognition started working ---------------------------- Successfully uninstalled opencv-python-4.5.1.48 Successfully installed opencv-contrib-python-4.5.2.52 python3 faces_train.py Training done ---------------
Awesome video, thanks a lot! One very important question: how may I display those small explainations/suggestions of the parameters I can put into the functions? For example: I type in "cv.rectangle(" but there is no popup that shows which parameters I can put into the functions. In your case it's very nice and clearly visible! Do I need a vs code addon for opencv? Thanks in advance!
I had the same issue as well but a stackoverflow post had the solution. Apparently sometimes the path to the file with those suggestions is in chinese and they don't show in the editor. All you had to do is use "from cv2 import cv2 as cv" rather than "import cv2 as cv", this fixed the issue for me, try it once.
Good and entertaining video series. The last video gave me a good lol in the middle of the night here. I think I woke up my neighbors thinking about one of the ”classic quotes from known and unknown programmers”: ”Despite the fact that it doesn´t work - How do you like it?” No affence man.
How close is this to the technology to the large scale commercial organsations are using such as Facebook, Apple etc? What percentage are the commercial organisations getting when they run their image identification systems?
so in the last part: 1. whats the validation accuracy? 2. you train on RGB and predict on GRAY? Is the original img RGB or GBR cose when you show it the colours are messed up. 3. you cant use cv2 like this, since the basic colours are BGR in cv2. in keras its RGB 4. if you predict on GRAY scale why didnt you train on GRAY scale? 5. you should expand the dataset with additional data augmentation and have a consistent colour pallet BGR or RGB or GRAY or whatever. Thats why it doesnt work
This is a goldmine of a resource. I have 3+ years experience with image processing in MATLAB. Totally into Python now and enjoying this awesome tutorial.
Hi aniruddh can i get your contact / email please? Have some work in your domain its urgent
Which is better to start with?
Python or MATLAB for ML?
@@dremr2038 From my experience, Matlab does not offer as much dynamism and flexibility, so I would definitely go with the former. I've used both but once I made the transition to Python, there was no looking back!
@@dremr2038 python is so good for ML, I don't think it has any rivals other than maybe R
I absolutely dread matlab, i cannot even fathom a language that has 1 indexing. Yes matlab sadly has the audacity to call itself a programming language. Pythons mathplotlib literally has 99% of the functionality of matlab whilst being easier to use.
Can't express my feelings when you get some of the awesome courses on internet for free of cost 🙏
same, thanks to all these cool guys i never had to buy a course when i wanted to learn something new.
Free Code Camp is the best!
Couldn’t agree more! We’re living in the matrix and everyone watching took the blue pill (or whichever one was the right choice lol)
Really?
@@foryoutube1975 lol that is what i thought too,
It's 7:05 AM right now and I just realized this video is in my search history, fully watched, over night.
I don't remember watching this, like at all.
Hahahahahaha I’m in baso the same place as you mate the algorithm is fucked
I was just clicking on random videos on YT and I somehow landed on this course and GOD THANK YOU!
Learned a lot and lots of things here that I could've learned nowhere better.
Thank you for this course, although there were somethings in the last part of this course that I was not able to understand but I got a glimpse of how things are and how they work, I'll definitely learn them.
2:08:26 - actually everything was OK. You don't need to pass masked image to calcHist mask parameter. You can just pass white circle instead, as you did first time. You can compare both histogram plots and make sure, they are identical. It worked because cats-in-a-circle image is identical to white circle in bitwise operations (if those cats have no zero valued pixels in the circle region)
The course has been really confusing at times. Thankfully, I did the same before following him so I agree with your findings
you are right.
@@S06paths
Hi, do you know how to get that tooltip type of thing that shows the parameter information in VScode pls ?
anyone came here after falling asleep?
My phone was just on this vid
This is why I’m dumb
woke up around 1:40 after being asleep for 3 hours...
Here
Yes lmao
Finally, a 2020 updated opencv tutorial on the internet
You got that right boi
The best free, very precise, very well explained course on OpenCV. Everything about this course - the pace, code explanation , and the accent (bleu!) was really engaging. Thank you!
Absolute lifesaving course! in the span of a few hours I was able to do my own computer vision projects!
Sidenote : the cat pictures were a bit too cute and sometimes distracting haha.
3:29:55 - `x` (images tensor) and `y` (labels) should have the same length - People who are getting this error, convert the list x_train and y_train to numpy arrays
x_train=np.array(x_train)
y_train=np.array(y_train)
Thank you for the interesting content.
The error in the face recognizer is due to 3:04:44
It should be
for (x, y, w, h) in face_rects:
faces_roi = gray[y:y+h, x:x+w]
instead of:
for (x, y, w, h) in face_rects:
faces_roi = gray[y:y+h, x:x+h]
Completed this in two weeks, what an amazing course! For the computer vision part on kaggle, you might have to use your own model, i recommend convolutional layers. The model used by the tutor is out of date and you might encounter roadblocks. Good thing is, every other line of code works well with any model of choice.
Really enjoyed this course and i look forward to doing advance stuff from here!
That was a nice course for starting machine learning but please look at (3:38:00) . We're larning to reach a conclusion . So why the model cannot work correctly?
Hey I see your effort. You all are putting so much effort and time in these videos. I think if you make the roadmaps videos like if you want to become a android developer watch this playlist in which you can mention all the videos that are related to the android development. Yes I know that you already had created playlists but they are kinda incomplete and are not roadmaps videos. And one more suggestion make a playlist of roadmaps videos for different learning paths like you had created pytorch and tensorflow tutorials if they both are mentioned in a roadmap video of data scientist and a pdf in description as if anyonnes wants to print and want the learning steps so he/she can download the pdf. I hope you will like my suggestion. Even I follows your tutorials but i didn't know whether the tutorial is for my path or not and then after researching and learning my own I find that you had made the tutorials but I was not able to identify that the tutorial is helpful or not. So if you do this it will save so much time and everyone will know what to do next.
Thanks For Reading My Suggestion :)
Nice!
u must check code with harry in that case. only if you know hindi
@@TechWithRushabh Yes know that but they have more audience than Code With Harry. So if they did this it will help more people.
@@RajvirSingh1313 Yea I know that would be cool.
@@TechWithRushabh Even I am learning c++ from him!
woke up to this playing on youtube - i dont code
lmao same, most likely brainwashing
me aswell
I bought a course to learn OpenCV from this website but it was money wasted. The whole thing was filled with too much theory like what is RGB? What is BGR? How do images work? I lost interest so quickly. I LOVE how you are to the point. Your pacing is also perfect. I have never watched anything with 1.0x speed before. THANK YOU for making this course! This video is priceless.
Anyone else woke up to this ?
Yeah me 😂😂😂
Yes bro 😭😭😭😭
I was desperately looking for an OpenCV tutorial and I saw this like a hero :)
Thank you guys for making such quality videos that has helped millions. I've benefited a lot from your previous tutorials and I'm excited to learn opencv as well!
Thank you!!
2:41:06
Tutorial is awesome, the explanations are much better than other tutorials I have tried, only ran into one real issue so far and that was during the "Face detection with Haar Cascades". When referencing the xml file, I found out I needed to implement the full path to the file in order to get it working properly, just thought I would throw that out there in case anyone else runs into a similar problem.
Hi,
Does this course go deep into utilizing artificial intelligence?
Thanks a lot !
Are you talking about how to solve the xml parsing error that happens? because yes i'm suffering from that currently. What do you mean by full path? because my xml file is saved in the same directory as my face detection file
@@chinmayganguly457 I had the same issue. Just look at your explorer tab (it's on the left in VSCode), right click on your xml and then click 'Copy Path' (or 'Copy Relative Path', it also worked for me)
Yeah, same situation, in my case was because I created a file inside "resources" to have more order, so VS Code needed me to give the exact file path to run haar_face.xml.
Thanks for the tip
2:44:26 When The Face was Detected
This moment gave me the most happiness to be able to detect a face.
THANK YOU FOR THIS COURSE
10:34 video running
11:28 error - 215 assertion error
53:59 flipping image
58:34 canny (for edge detection)
59:12 finding contours
1:07:18 drawing contours
2:47:50 best alg for face detection
2:50:58 getting list in new way
Thanks for all your efforts, spent times, and open source-free courses. Indeed, I've started OpenCV through that course, and it's been a superb starting point for me. And there are also different kinds of courses related to Data Science and am gonna benefit from them as well. Am grateful to know a such channel and a such course..
Hi Jason,
I have been going through many courses for OpenCV (Not that I didn't understand them) but I should say even though the course is fast-paced but well explained and especially Chapter BITWISE operations Awesome!..keep it going very well explained and practically show.
"train_gen = datagen.flow(x_train, y_train, batch_size=BATCH_SIZE)" gives a ValueError:
"`x` (images tensor) and `y` (labels) should have the same length. Found: x.shape = (80, 80, 1), y.shape = (11047, 10)"
important ones to remember
33:19 five basic methods
1. gaussian blur
2. canny edge detection
3. dilate
4. erode
5.cv.resize
==============================================
45:17 image transformations
1. Translate function
2. rotate function
==============================================
57:55 contours
1. contours list using canny edge detection
2. contours list using blur + canny ed
3. contours list using threshold
===============================
1:12:00 changing color spaces
1. BGR to HSV
2. BGR to GRAY
3. BGR to LAB
4. BGR to RGB
AND VICE VERSA
========================================
1:24:00 extracting colors
blue
green
red
=============================================
1:37:00 Blurring
1. Average blur
2. Gaussian
3. Median
4. Bilateral
============================================
1:45:35 Bitwise
1. Bitwise and
2.Bitwise or
3. Bitwise xor
Damn, never felt this confident on anything after just finishing the course. Kudos to you guys for bringing out this gem of a tutorial and channel as well. And all of it FREE OF COST🙏🙏
I just comment so it reaches more people, because this helps THAT lot. Thank you for making this, and for making this free! It's greatly appreciated!
The tutorial is great. Everything is explained in a great way. The only thing that I felt could be improved is by using some constants instead of just writing them again and again like you did in draw.py. You could've specified constant like STARTING_POINT, ENDING_POINT, COLOR and many more which would've made the code much more readable and could've also reduced the tutorial length. I would be making a pull request for this soon. Thank you for this amazing tutorial :)
If you are using intellisense, it will also pop up what each parameter is! But yeah I agree, magic numbers are never good
Final Review of This Course:
Okay, if you want to get a very low level understanding of openCV, then this course will work for you. Its good if you need a refresher or are using it to get an idea of some of the important functions in openCV.
HOWEVER, you wont really understand why the functions work or why certain parameters are used. I wish the title of this video was called "Referesher Course for OpenCV".
Id recommend paying for a longer course that will go a lot more in depth into what these functions actually do and how they work.
Regardless, I still learned something, so thank you.
Can't express how grateful I am for this amazing content. Thanks guys
Just gonna thank this channel and Sir you are the best teacher I have ever come across
Yeeaah. I'm just starting my TFG about Image Processing with Python and this comes out. Love FCC!
ua-cam.com/video/uNSxrWCwUqQ/v-deo.html ..
@@TheKing-ul5pw ?
This is a really good resource, but I want to point out that there's error to how he expained match-confidence, somewhere around the (3:10:33) mark.
The confidence value represents the dissimilarity or error between the detected face and the recognized face. What I am trying to say is that a lower confidence value is typically better because it means that the detected face is more similar to the recognized face.
Edited: Also, the confidence value is not expressed as a percentage!
Could you please tell why i am getting confidence value always 0.0 even if face was detected perfectly
omg your courses get released a moment after i start learning a new stuff! GREAT CONTENT! THANKS FCC!
a structuring element is the NxN matrix that determines the way dilation is calculated. it is not the image that is being dilated. the dilation operator requires 2 arguments. the original matrix and the structuring element, which is basically the kernel and it has a certain size and shape. usually a disk, cross or a square (binary kernels most of the time)
I'M HALF DONE WITH THIS VIDEO, AND I MUST SAY THIS IS A GEM VIDEO❤
Thank you very much! I'm glad this video helped you :)
great job so far in 1:11 now and love the content also just realized how amazing these image manipulation softwares are amazing
EDIT: Into advance section now and the true power of openCV is here awesome and awesome tutorial
OMG I love this, soooo straight to the point and clear.
I wish all tutorials were like yours!!!!!
This video is really good for learning new things related to computers..🤩🤩🤩🤩🤩💮..good job guys....I learned almost the concepts...and making a project now..
Hey iam an automated robot created by the RPA Champion to comment on all videos on youtube. I have liked your video. Thumbs up and keep on doing what you doing
Essentially 😂😂 The best opencv course on youtube.
this is nuts that this is free!
Omg, having awesome tutorials free of cost, much much better than what programming learners expect.
1:30:00, I try a little tweak here by using ones() instead of zeros(), then multiple blank by 255, so I can get a white canvas. The results are interesting cause it display sort of CMYK.
I hope I can learn well with this video. I am now korean high school student, and I learn open cv because i want convert my school subject handwriting to word document. Thank you for nice video
if you have time to learn, don't go for "word" documents.
rather research about LaTeX (hard, but powerful) and markdown (easy), padoc (a converter)
you can do all kinds of cool and advance stuff with your text.
Okay, here's the shortcut I found about VS Code:
Ctrl + '/' -> Comments out a line
Alt + Up/Down Arrow -> To move text up and down
And this is personalized:
Alt + D -> Duplicates the lines
Please share your shortcuts as well.
I appreciate the tutorial. I'm almost 3/4 of the way through. I just wish there was more reasoning as to why you are learning all the transforms and filters.
A lot of times we filter images to either remove noise or extract features from it. We want to do this so computers can better understand what they are looking at. People can do the naturally without thinking, but computers need to be told exactly what to do. This can be used for various computer vision tasks such as tracking someone in a video, recognizing objects in a picture, or stitching together images to form a panoramic picture.
I fell asleep and woke up to this how tf did I got here
Been needing this video since last christmas! lol Thank you! -- +9999pts for linking up concepts to examples in the video. Something abt the documentation just gets my mind wandering until I've forgotten what it was I was looking for in the first place. ;D
3:09:05 a 110% "pretty sure there's an error somewhere" .... 3:39:15 "...definitely not the best model that we could've asked for..." this is learning the blind way, nothing replaces reading a good book, more cartesian, more precise.
You mean that reading books are much better, please suggest a book then plz
in arabic we have a proverb, make better or keep silent, I dont judge ur ability to do so but his work is great and I found it amazing , any books for suggestion!!!
I voted for this! Yayy!!!
🤚✌️
@@m4leopard635 Sup from 30 seconds ago
@@lucaslindgren3237 can't get u bro
@@m4leopard635 yo again
Same
Warning, the Simpsons deep learning part is having some difficulties as decay and learning rate are deprecated in Keras 2.3 above, might need to find a new way to overcome it.
Did you find the solution? Hit if you do, thx
uint is not datatype for images but it's a datatype that refers to ONLY positive numbers including zero and NOT negative numbers. it stands for unsigned integer.
The way he said Bleaaaa(blur), I fell for his channel
The exact thing I've been looking for
Thanks a lot
Just finished it's awesome course... It goes like begginer to advance..
Thank you ;)
It's amazing when you find the right tutorial all for free, Thanks Jason
Hi Jason,
Your course is very detailed and oriented towards practical application of concepts taught. Loved it. I have a personal project which could really benefit from your skills. I am not sure if you do freelance work or are interested to have a listen... Please let me know if i can reach you somehow to discuss this further...
Tiết là anh ta quá bận để trả lời bạn:))
Great Job, by the far it is the best video of OpenCV I have seen... keep sharing more please
One of the best courses i've taken, thank you for this !
@ 3:06:53 where you write:
faces_roi = gray[y:y+h, x:x+h]
is that a typo?
should be?
faces_roi = gray[y:y+h, x:x+w]
i think it still works because its a rectangle where the height is longer then the width.
This is a great course, Thanks for the content.
Yes, it's a typo. Any other typos/mistakes in the video have been fixed on the repo: github.com/jasmcaus/opencv-course. Cheers :)
Traceback (most recent call last):
File "C:/Users/My Pc/Desktop/OpenCV/faces_train.py", line 32, in
create_train()
File "C:/Users/My Pc/Desktop/OpenCV/faces_train.py", line 22, in create_train
gray = cv.cvtColor(img_array,cv.COLOR_BGR2GRAY)
cv2.error: OpenCV(4.5.1) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-5rb_9df3\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'
@@jasmcaus Traceback (most recent call last):
File "C:/Users/My Pc/Desktop/OpenCV/faces_train.py", line 32, in
create_train()
File "C:/Users/My Pc/Desktop/OpenCV/faces_train.py", line 22, in create_train
gray = cv.cvtColor(img_array,cv.COLOR_BGR2GRAY)
cv2.error: OpenCV(4.5.1) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-5rb_9df3\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'
1:52:40
"This is a white hole and this is a black hole, for the physicists out there"
Awesome crash course thanks. I too come from a MATLAB background, so I know what to look for. But it's good to see the basics in action to pick it all up with Python/C++ as needed. Thank you, Sir. 👌
thanks for the amazing lesson best opencv course ever!
This series was so much fun to learn. JazakAllah.
PS. Bitwise Operator episode could be renamed: Make a Black Hole using python
Just kidding. Stay awesome.
Haha
Wow! More content in this than in my semester long Computer Vision course. Thanks!
Ohk, If It Reaches Someone Who Is Going To Watch This For Face Recognition, I Would Say Don't Put Your Hopes High, Learn It For Image Manipulation And Go To Recognition With Dlib Instead Of OpenCV As It's A Lot More Accurate, Course Is Really Beginner Friendly Though, But Just Adjust Your Expectation. Good Luck
I stucked an error at 3:30:00 and i surrendered to resolve. Finally, your Github resume back again together with "Fix Sklearn ImportError" which is inside simpsons.py then i follow the github to import sklearn.model_selection as skm and change x_train, x_val, y_train, y_val = caer.train_val_split(featureSet, labels, val_ratio=.2) to
split_data = skm.train_test_split(featureSet, labels, test_size=.2)
x_train, x_val, y_train, y_val = (np.array(item) for item in split_data)
So far, I don't find error at all. Thanks a lot
Thank you bruh!
Thanks!
English is my second language and I can't understand it very well but You teach such as a very powerful teacher ^_^
I hope the bests for you :)
I've been waiting for this kind of tutorial here thank you
Perfect OpenCV course to start off! 👍🏼
WAS WAITING FOR THISSS!!!!!
ua-cam.com/video/uNSxrWCwUqQ/v-deo.html ..
Best OpenCV Course on youtube by far
What's python?
Snake very danger must avoid piosonus
@@forgewhelbon1131same bro, there was a very dangerous snake in my shop a few days ago, that is why I m searching for python, I found this tutorial very useful
it is a programming language that you can use to make your computer perform different things
😂 what@@forgewhelbon1131
A character from the 90's circus show- Monty python
Thank you for making this available for everyone, really appreciate the good work!
讲的非常详细, I like this video.
28:35 For some reason that smile made my day 😁😁😁😁
Thank you for your effort. I' am going to watch it later: not that easy to reserve almost 4 hours :)
content is gold for one who is beginner in CV. with this tutorial i gor familiar with all the basic stuff.Thanks for the tut Jason
3:27:20
if you're following along with pycharm
from tensorflow.python.keras.utils.np_utils import to_categorical
should be used instead of
from tensorflow.keras.utils import to_categorical
Borned to teaching code!!!....excellent methods and speech...thanks for give us a lot against none trading off fee.....keep on that way my friend!!!
I dont even have autoplay on how did i get here
Same
You are the best, thanks a lot, it helped a lot for my internship project.
Thank you for this course.
In this case 11:26 :
isTrue, frame = capture.read()
while isTrue:
cv.imshow("Video", frame)
isTrue, frame = capture.read()
if cv.waitKey(20) & 0xFF == ord("d"):
break
or use try/except:
while True:
try:
isTrue, frame = capture.read()
cv.imshow("Video", frame)
except Exception as e:
print(e)
break
if cv.waitKey(20) & 0xFF == ord("d"):
break
Hi, I am using OpenCV in Ubuntu 20 and it is kinda weird to say but it is somewhat different from what is being shown in the video. When I hover my mouse over the image, I can see the X-Y coordinates as well as the R, G, B values of those pixels. Also, there are some hidden buttons that allow me to zoom in, zoom out, and save the image. Anybody else experiencing the same?
I haven't even watched full video yet but still I really want to say "Thank You so much!!"
Thank you ! Wonderful video.
I encountered problem when trying to run ' Face Recognition with OpenCV's built-in recognizer'
(Face Detection ' works)
at the line
face_recognizer = cv.face.LBPHFcaeRecognizer_create()
Attribute Error: module 'cv2.cv2' has no attribute face
Surfing the net, for solution, realized, many people have encountered this problem
Any help appreciated
I fixed this error, it took me some time to figure out, many users have been struggling with this error
by mistake, I had installed both opencv-python & opencv-contrib-python
Even after uninstalling opencv-contrib-python, I was continuing to get the following error
---------------------------
Successfully uninstalled opencv-contrib-python-4.5.2.52
python3 faces_train.py
Training done ---------------
Traceback (most recent call last):
File "faces_train.py", line 44, in
face_recognizer = cv.face.LBPHFaceRecognizer_create()
AttributeError: module 'cv2.cv2' has no attribute 'face'
---------------------------
Then it stuck me, it is picking the cv2 from some where else
I reconfirmed this with Python shell & pip list
------------------------------
python3
Python 3.7.6 (default, Jan 8 2020, 19:59:22)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'4.5.1'
pip list | grep opencv
opencv-python 4.5.1.48
----------------------------
Then once I uninstalled, opencv-python and reinstalled opencv-contrib-python, ONLY
the error message vanished and face_recognition started working
----------------------------
Successfully uninstalled opencv-python-4.5.1.48
Successfully installed opencv-contrib-python-4.5.2.52
python3 faces_train.py
Training done ---------------
@@sambathnarayananparthasara9403 thank you so much it worked for me....
very useful for beginners and best presentation......
Awesome video, thanks a lot!
One very important question: how may I display those small explainations/suggestions of the parameters I can put into the functions? For example: I type in "cv.rectangle(" but there is no popup that shows which parameters I can put into the functions. In your case it's very nice and clearly visible! Do I need a vs code addon for opencv?
Thanks in advance!
I had the same issue as well but a stackoverflow post had the solution. Apparently sometimes the path to the file with those suggestions is in chinese and they don't show in the editor. All you had to do is use "from cv2 import cv2 as cv" rather than "import cv2 as cv", this fixed the issue for me, try it once.
pylance ;)
you are the best teacher I learned full opencv with the help of you
Thanks, I was looking for some free course for image processing for computer vision👌👌
3:27:41 There is a typo in the code uploaded in the github (caer.train_test_split) , the one in the video is the correct one. Thanks!
This is exactly what i'm looking for, thank you !
Good and entertaining video series.
The last video gave me a good lol in the middle of the night here.
I think I woke up my neighbors thinking about one of the ”classic quotes from known and unknown programmers”:
”Despite the fact that it doesn´t work - How do you like it?”
No affence man.
How close is this to the technology to the large scale commercial organsations are using such as Facebook, Apple etc? What percentage are the commercial organisations getting when they run their image identification systems?
ua-cam.com/video/GnnFy0uFe3E/v-deo.html
A slight error at 18:57 the function definition will be changeRes(capture, width, height)
I don't feel like this is a tutorial, it's more like going through documentation really fast.
Lol. HTLM "programmer" spotted ^^. REEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
@@ememmeme8722 nah, I work with C++/Qt on daily basis. But even if I was a 'HTLM programmer', there's nothing wrong with it :)
@@agauniyal bro you are a giga chad
so in the last part:
1. whats the validation accuracy?
2. you train on RGB and predict on GRAY? Is the original img RGB or GBR cose when you show it the colours are messed up.
3. you cant use cv2 like this, since the basic colours are BGR in cv2. in keras its RGB
4. if you predict on GRAY scale why didnt you train on GRAY scale?
5. you should expand the dataset with additional data augmentation and have a consistent colour pallet BGR or RGB or GRAY or whatever.
Thats why it doesnt work