So what TUTORIALS AND PROJECTS would you like to see next ? Comment bellow and I will create the ideas with the highest votes. And thank you for all the love and support.
first . thank you very very much ..this is a great work,...second i wish from you to make a tutorial for self diving car using neural network .finally all the best for everyone
Hi, thank you very much for this long but useful tutorial. I must say I'm a newbie with opencv and python. I'd like to know if it would be possible to decode the hour, minutes and seconds of analog watches using opencv. I've this professionnal project. We develop such a program at work but using proprietary library and we have now some limitations with it : it doesn't work with 64bit Windows and due to a bug that we found in the library we can't update Windows and we do need to pay to get the corrected version of the library ! Damned ! So it would great if we could do that with opencv and so use another OS. By the way, we need to decode a datamatrix code to recognize the watch we're processing (just a number). For each watch, we define some templates (ROI) for the watch face, the hour hand, the minute hand and the second hand (the center ans axis of each and the edges) and then the program decodes the hour. Do you think that this possible to do with opencv ? Regards
can you tell how to resolve this error: OpenCV(4.3.0) /io/opencv/modules/objdetect/src/cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'detectMultiScale' 2
@@nishikantmundokar228 THis is what I did to fix the same issue. cap = cv2.VideoCapture(r'yourFullPath\test_video.mp4') #cap = cv2.VideoCapture(0) cap.set(3,640) cap.set(4,480) cap.set(10,100) while True: success, img = cap.read() print(success) if success: cv2.imshow("Output", img) cv2.waitKey(1) if cv2.waitKey(1) & 0xFF == ord('q'): break else: break cap.release() cv2.destroyAllWindows()
It's nice how he is so friendly when explaining like even intermediate programmers don't have trouble he doesn't use such huge complex words. It's good for that reason as beginners learn easier that way.
You are amazing Martaza. Your teaching skills are probably one of the best on youtube. I hope you're channel grows. Thank you for the free information and tutorials. Wish you the best!
15:00 import video 26:00 Eroded and dialation of image 30:30 resizing the image 37:30 Create colored boxes n lines 41:00 rectangle 48:00 perspective 56:00 color detection
Possibly the best tutorial I've ever watched and I watch a TON of tutorials. You have a real gift in being able to instruct while being concise. Thank you for sharing and teaching.
how u watched pls help me i didnt understand he was just writing the code and not explaining also i have watched till chapter 2 only and i didnt felt i have learned something
dude i just discovered your channel and i cant believe that there are so many useful videos about opencv in even all youtube lol. you are a walking treasure please keep up...
A big THANK YOU! I have my final project submission in a month, it's a virtual keyboard, it's not mine, and i was having difficulty understanding the openCV and numpy functions, browsed through various videos, yours is undoubtedly the best one, now i feel like i can make a whole project just by myself!!!!!!!!!!!
Murtaza's Workshop-Robotics an AI CAN SHOW US AT LIST HOW DID YOU GET THE FOLDER IN WHICH THERE'S THE IMAGE AND VIDEO FROM, I SAW IT THEN IT JUST DISAPPEAR OUT OF NOWHERE, I BELIEVE THIS IS THE REASON I'M GETTING THIS ERROR. MUCH APPRECIATED BY THE WAY
Heres that function he put in chapter 6 for Joining Images from his website: def stackImages(scale,imgArray): rows = len(imgArray) cols = len(imgArray[0]) rowsAvailable = isinstance(imgArray[0], list) width = imgArray[0][0].shape[1] height = imgArray[0][0].shape[0] if rowsAvailable: for x in range ( 0, rows): for y in range(0, cols): if imgArray[x][y].shape[:2] == imgArray[0][0].shape [:2]: imgArray[x][y] = cv2.resize(imgArray[x][y], (0, 0), None, scale, scale) else: imgArray[x][y] = cv2.resize(imgArray[x][y], (imgArray[0][0].shape[1], imgArray[0][0].shape[0]), None, scale, scale) if len(imgArray[x][y].shape) == 2: imgArray[x][y]= cv2.cvtColor( imgArray[x][y], cv2.COLOR_GRAY2BGR) imageBlank = np.zeros((height, width, 3), np.uint8) hor = [imageBlank]*rows hor_con = [imageBlank]*rows for x in range(0, rows): hor[x] = np.hstack(imgArray[x]) ver = np.vstack(hor) else: for x in range(0, rows): if imgArray[x].shape[:2] == imgArray[0].shape[:2]: imgArray[x] = cv2.resize(imgArray[x], (0, 0), None, scale, scale) else: imgArray[x] = cv2.resize(imgArray[x], (imgArray[0].shape[1], imgArray[0].shape[0]), None,scale, scale) if len(imgArray[x].shape) == 2: imgArray[x] = cv2.cvtColor(imgArray[x], cv2.COLOR_GRAY2BGR) hor= np.hstack(imgArray) ver = hor return ver
@@saahmad93 Make sure you're using the correct project interpreter. You might be missing the pg_config executable but I can't be certain because I can't see the entire error code. Try looking at Stack Overflow for help as there have most likely been others with the same or similar issue.
I have become a fan ! Definitely recommend to anyone who just came to the course. Just finished chapter 7 , which was great. Chapter 5 blew my mind , it was very interesting! I can't wait to start working on the projects !!
Man thank you so much. I've spent all of my Machine Learning studies working with theory, Random Forests, and Linear + Logistic Regression. Getting to finally break into computer vision thanks to someone who knows what they're doing is huge, I appreciate you. I haven't finished your whole playlist yet so I can't recommend anything sadly, but something I am interested in making is a distance detector. Basically a computer vision application that shoots out one "laser" and detects the distance at that lasers end point.
Thank you so much for this valuable course. I was new to Open cv and It took me 3 days to go through this video completely. Now I think I will be able to go through your other projects effectively. Thank you so much Murtaza.
omg i spent so long on my own trying to import cv2 it never worked u just made it a piece of cake I hope you live a long and happy life lol it had taken me hours and u helped me do it in seconds
OMG, i was looking for good source of info about OpenCV + Python for 3 day at different languages. I just started, but thank you in advance. You are awesome.
This is just STUPID. Spent hours and hours on coursera trying to learn opencv. Ended up giving up on it because some links in the course weren't working, they were bouncing around back and forth through different tools, like pytorch just popped out of nowhere. Went showering youtube to see what I could find and I found this gem 💎. I swear I learned more in 30 minutes than I have in 8 hours on coursera. Take this as a complement please.
Hi, This is indeed a good and informative video. In this video you showed that we can do reading of video from webcam... As I am also working on object tracking using webcam, I dont know how to extract the tracked coordinates (X,Y) of the object in .CSV or Excel sheet. If you can make a video for many of us who are new to openCV and got struck on this point... it will be a great help. Thanks
The benefit of cv2.FILLED instead of -1 is that it's more readable and the programmer who will read your code in the future will not have to go check the documentation on what -1 means. It's always a best practice to use human understandable words instead of numbers. The very reason Enums exist.
Wow! This tutorial is so easy to understand and practice along the way. It really helped me to grasp the fundamentals of OpenCV. Thanks a ton Murtaza for such a great video and keep up the great work.
Thank You for this great video. How you've designed the projects to go over all the chapter material is very thoughtful. The projects really helped solidify things covered by the chapters.
Omg man I was so fucking sad when I finished and it just ended! I always love it when the teacher gives a little goodbye for sticking with them for 3 hours, I wanted to see you :(
Perfect. i love this section of 3 hours. my suggestion is make a application that's use a webcam, recognize letters and search words in diagram like (Word Search Scrabble Puzzle games)
Chapter 6; the function he adds is: def stackImages(scale,imgArray): rows = len(imgArray) cols = len(imgArray[0]) rowsAvailable = isinstance(imgArray[0], list) width = imgArray[0][0].shape[1] height = imgArray[0][0].shape[0] if rowsAvailable: for x in range ( 0, rows): for y in range(0, cols): if imgArray[x][y].shape[:2] == imgArray[0][0].shape [:2]: imgArray[x][y] = cv2.resize(imgArray[x][y], (0, 0), None, scale, scale) else: imgArray[x][y] = cv2.resize(imgArray[x][y], (imgArray[0][0].shape[1], imgArray[0][0].shape[0]), None, scale, scale) if len(imgArray[x][y].shape) == 2: imgArray[x][y]= cv2.cvtColor( imgArray[x][y], cv2.COLOR_GRAY2BGR) imageBlank = np.zeros((height, width, 3), np.uint8) hor = [imageBlank]*rows hor_con = [imageBlank]*rows for x in range(0, rows): hor[x] = np.hstack(imgArray[x]) ver = np.vstack(hor) else: for x in range(0, rows): if imgArray[x].shape[:2] == imgArray[0].shape[:2]: imgArray[x] = cv2.resize(imgArray[x], (0, 0), None, scale, scale) else: imgArray[x] = cv2.resize(imgArray[x], (imgArray[0].shape[1], imgArray[0].shape[0]), None,scale, scale) if len(imgArray[x].shape) == 2: imgArray[x] = cv2.cvtColor(imgArray[x], cv2.COLOR_GRAY2BGR) hor= np.hstack(imgArray) ver = hor return ver
Thank you for your tutorial on OpenCV with python. I am usually working in C# VS and I would LOVE to have a tutorial in real time quad (four independent ROI's) for SFR (Spatial Frequency Response). This can be used for an EVK / Dev-Kit image sensor with lens looking at a slanted edge target (B/W) on optical axis. Essentially, it is recognizing the slanted edge gradients and since this is slanted, it reduces pixel (imager side) noise due to the diagonal cross section of how the ROI's read the edges. Mind you that each ROI will have real time MTF readings on all four sides. so 16 total MTF values which can be updated ~ 1.5 seconds. This is well know in online GUI apps and I do not want to utilize their approach. So Something fresh from you would be outstanding to say the least. This should be less in complexity compared to facial recognition but I thought I ask you please.
If you are getting an error at 2:34:45 Make sure your webcam is pointing at the image, mine was on the table and would immediately error out. As soon as I adjusted the page to be in sight, It warped. :)
@@Bell0 So long as you followed everything up until this point, All I can say is I had to keep trying to run the program and moving my webcam to different positions, the program needs to see and image to warp, if it doesn't, it will crash or not run and throw an error. I used IVCam and my phone as the webcam, you could try that!
projct 1: facemask detection, project 2: social distance monitoring, project 3: intruder detection system, if you can make these project than that would be very help full, by the way YOU ARE A GREAT TEACHER !! JUST AMAZING KEEP IT UP SIR.
Awesome video. I do have 2 projects that required computer vision and being a Mechanical engineer and phyton illiterate did not help the project. This really opened up a massive door that was blocking my way. The words to express my gratitude and thanks are not invented, yet. I have a question on line detection. I noticed you always use GaussianBlur before using Canny and push the Blur image to the Canny Function. Is there a certain reason why you use Blurred image instead of the standard gray scale. The gray scale produces a sharper image which will result in sharper edges, Right??
Chapter 9(Face Detection): If anybody's encountering an error like this: (-215) !empty() in function detectMultiScale Try calling the xml file this way: faceCascade= cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml') and then: faces= faces.detectMultiScale(imgGray, 1.3, 5)
Thank you so much sir❤ Today I completed the video 1:15:30 chapter 7 Sir I need the stack function code whose are used in chapter 6 and 7 for stacking images
if anyone have latest version of numpy and getting the error ImportError: numpy.core.multiarray failed to import open terminal and use "pip install numpy==1.14.5" this will solve it :)
It doesn't work for me 49:49 my image seems to be reversed and i have a black screen at the middle, at the top i have a cord reversed and bottom the background color (gray)
Great Tutorial, im looking forward to learn ESP32. it will be very helpful if you could do a series of lessons on esp32, and how to program using Arduino.
You are the best teacher I've ever watched Your voice is so relaxing and not boring and the way you explain is totally and literally satisfying I love coding knowing that I'm just beginner U made me love coding even more I love you dude keep on
Thank you soo much. Professional programmers like you seriously providing good knowledge with example and not just talking like some ppl do. 1st yr student like me really can learn and implement alot.
Hi! i am having an issue at 1:26:32 in the getContours function the error is contours,hierarchy = cv2.findContours(img,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE) ValueError: too many values to unpack (expected 2) But when i hover my mouse over the getCountour function it says: You need configured Python 2 SDK to render Epydoc docstrings Please help
THANKS for making these excellent courses for us. At 14:34 it would be nicer to have this kind of code: #v is the object of VideoCapture while True: isData, img = v.read() if isData: cv2.imshow("Video",img) if cv2.waitKey(20) & 0xFF==ord('q'): cv2.destroyAllWindows() break else: cv2.destroyAllWindows() break and in the webcam, adding v.release() at the end of while loop
00:06 Learn OpenCV in three hours 08:51 Learn how to read images, videos, and webcam with OpenCV 27:31 OpenCV image processing: resizing, cropping, and drawing shapes 35:54 You can add color to images and create lines, rectangles, circles, and text in OpenCV 52:38 You can easily stack images together, even if they have different number of channels. 1:00:15 Generate a summary in a single point in JSON format. 1:16:17 Detecting and categorizing shapes in an image using grayscale conversion, edge detection, and contour finding. 1:24:44 Contours and shapes detection using computer vision 1:40:48 Real-time object detection using cascades classifier 1:48:56 Convert normal image into HSV and detect multiple colors using masks. 2:03:54 We need to define color values and draw circles based on these values. 2:11:29 Pre-processing the image to detect edges 2:29:06 The main point is to reorder points before sending them for working. 2:37:25 The smallest point is (0,0) and the biggest point is (width, height). 2:54:33 This project focuses on real-time number plate detection using webcam and Cascade method. 3:04:26 Code to save multiple images in a scanned folder.
"cv2.imshow("Output".img)AttributeError: 'str' object has no attribute 'img' " Hey good people i could use a little help here. How do you get the "resources" file in the "opencvPython" file in the projects menu? it showed up at 9:15 in the vid. i need to know how it got there. Thank you in advance
@@murtazasworkshop ok I did that but and got it in there as a directory. Went into my hard drive copy/ pasted the images Lena lambo cards etc into the directory and still nothing. I mean I can see it in there under the open CV python file and I can see it has images in it. When I try to run it I get the error and it also says in the pathway to resources, it stops at chapter1.py doesn't go all the way to resources. I'm sorry if this is hard to understand what my problem is. I'm a greenhorn lol. Would pics help? Also on mine it is light blue in color and yours is gray. Python 3.7.6/ pycharm 2020.3
TIP Sir : If you pressed the scroll button on mouse and start selecting.. you can select vertically a specific range. And thank you so much for this effort you have put for us. this was so helpful. Im daily learning these by part
@@naraniyamini7765 you could create it using the filesystem explorer you have, or inside Pycharm, in the left menu, put the mouse on the root of the filesystem, and you could click on right button, and select "create package"
So what TUTORIALS AND PROJECTS would you like to see next ? Comment bellow and I will create the ideas with the highest votes. And thank you for all the love and support.
first . thank you very very much ..this is a great work,...second i wish from you to make a tutorial for self diving car using neural network .finally all the best for everyone
goood video and jobs ;)
Hi, thank you very much for this long but useful tutorial. I must say I'm a newbie with opencv and python. I'd like to know if it would be possible to decode the hour, minutes and seconds of analog watches using opencv. I've this professionnal project. We develop such a program at work but using proprietary library and we have now some limitations with it : it doesn't work with 64bit Windows and due to a bug that we found in the library we can't update Windows and we do need to pay to get the corrected version of the library ! Damned ! So it would great if we could do that with opencv and so use another OS. By the way, we need to decode a datamatrix code to recognize the watch we're processing (just a number). For each watch, we define some templates (ROI) for the watch face, the hour hand, the minute hand and the second hand (the center ans axis of each and the edges) and then the program decodes the hour. Do you think that this possible to do with opencv ? Regards
Satellite image segmentation
I want to know who is that girl in video thumnail.
2:17 Introduction to Images
4:37 Installations
9:09 Read images, videos and webcam
17:01 Basic processing of image
27:31 Resizing and cropping
34:12 Adding shapes and text to image
44:59 Warping perspective
50:06 Image stacking
56:15 Colour detection
- 58:41 Trackbars
1:15:38 Contouring and shape detection
- 1:30:51 Bounding box
1:40:31 Face detection with OpenCV Cascades
1:46:03 Project 1 - Virtual painting
2:15:45 Project 2 - Document scanner
2:56:34 Project 3
god bless you
Here's an angel
hi, can i ask after this video how should one rate themselves in opencv from (0-10) 10 as in expert?
Why???
Got some pennies ???
@@CelestialGamz what?
I'm OpenCV expert. I recommend this video perfectly as expert's view.
Thank you
Are you really watched all video?
can you tell how to resolve this error: OpenCV(4.3.0) /io/opencv/modules/objdetect/src/cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'detectMultiScale'
2
Микола Васькевич английский выучи и потом пиши
@@nishikantmundokar228 THis is what I did to fix the same issue.
cap = cv2.VideoCapture(r'yourFullPath\test_video.mp4')
#cap = cv2.VideoCapture(0)
cap.set(3,640)
cap.set(4,480)
cap.set(10,100)
while True:
success, img = cap.read()
print(success)
if success:
cv2.imshow("Output", img)
cv2.waitKey(1)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
cap.release()
cv2.destroyAllWindows()
It's nice how he is so friendly when explaining like even intermediate programmers don't have trouble he doesn't use such huge complex words. It's good for that reason as beginners learn easier that way.
You are amazing Martaza. Your teaching skills are probably one of the best on youtube. I hope you're channel grows. Thank you for the free information and tutorials. Wish you the best!
Thank you so much!
00:00 Intro
2:17 Introduction to Images
4:37 Installations
9:09 Chapter 1- Read Images Video Webcam
17:01 Chapter 2 - Basic Functions
27:31 Chapter 3 - Crop and Resize
34:12 Chapter 4 - Shapes and Text
44:59 Chapter 5 - Warp Perspective
50:04 Chapter 6 - Joining Images
56:14 Chapter 7 - Color Detection
1:15:37 Chapter 8 - Contour/Shape Detection
1:40:31 Chapter 9 - Face Detection
1:46:03 Project 1
2:15:45 Project 2
2:56:34 Project 3
Mikephung
15:00 import video
26:00 Eroded and dialation of image
30:30 resizing the image
37:30 Create colored boxes n lines
41:00 rectangle
48:00 perspective
56:00 color detection
thank you
56:00 ke baad give up krdiya ?
Many thanks!
I think he should put this on the time stamp instead
Thank you very much! 😊
just 1 video to clear all the confusion I had in years. you deserve more then 1 like.
thanks so much.
Thank you for your kind words. I am glad the video was of help.
@@murtazasworkshop
This needs to be on free code camp.
Make your channel more popular by slightly diversifying your content, and video lengths.
couldn't say better!!!!
Alexson Chu, you just articulated what I was feeling. My 1000 likes for the creator of this video!!! Awesome.............
Possibly the best tutorial I've ever watched and I watch a TON of tutorials. You have a real gift in being able to instruct while being concise. Thank you for sharing and teaching.
Glad it was helpful! and thank you for your kind words
same lol and so meny of the other videos dident work lol
Where are the function he refers?
how u watched pls help me
i didnt understand he was just writing the code and not explaining also i have watched till chapter 2 only and i didnt felt i have learned something
dude i just discovered your channel and i cant believe that there are so many useful videos about opencv in even all youtube lol. you are a walking treasure please keep up...
Never expected such a organized educational video online for free. Thanks!
Glad it was helpful!
@@murtazasworkshop sir what are the prerequisites for this video
A big THANK YOU! I have my final project submission in a month, it's a virtual keyboard, it's not mine, and i was having difficulty understanding the openCV and numpy functions, browsed through various videos, yours is undoubtedly the best one, now i feel like i can make a whole project just by myself!!!!!!!!!!!
2:17 Introduction to Images
4:37 Installations
9:09 Chapter 1
- Read Images, Videos, Webcam
17:01 Chapter 2
- Basic Functions
27:31 Chapter 3
- Resizing and cropping
34:12 Chapter 4
- Drawing Shapes and texts
44:59 Chapter 5
- Warp perspective
50:04 Chapter 6
- Joning Images
56:14 Chapter 7
- Color Detection
1:15:37 Chapter 8
- Contours / Shape detection
1:40:31 Chapter 9
- Face Detection
1:46:03 - Project 1
2:15:45 - Project 2
2:56:34 - Project 3
i have completed for this point 1:12:30
that's enough for today
thank you for the adequate explanation
You're Welcome. good luck with the rest
me too
You should blog your progress here. I too am working with this video.
Murtaza's Workshop-Robotics an AI
CAN SHOW US AT LIST HOW DID YOU GET THE FOLDER IN WHICH THERE'S THE IMAGE AND VIDEO FROM, I SAW IT THEN IT JUST DISAPPEAR OUT OF NOWHERE, I BELIEVE THIS IS THE REASON I'M GETTING THIS ERROR. MUCH APPRECIATED BY THE WAY
@@SACKO0731 maybe capslock is the reason
Dude, your channel is like a hidden gem. Great stuff.
This level of articulation is a testament to your deep understanding of the subject. One of the best.
Heres that function he put in chapter 6 for Joining Images from his website:
def stackImages(scale,imgArray):
rows = len(imgArray)
cols = len(imgArray[0])
rowsAvailable = isinstance(imgArray[0], list)
width = imgArray[0][0].shape[1]
height = imgArray[0][0].shape[0]
if rowsAvailable:
for x in range ( 0, rows):
for y in range(0, cols):
if imgArray[x][y].shape[:2] == imgArray[0][0].shape [:2]:
imgArray[x][y] = cv2.resize(imgArray[x][y], (0, 0), None, scale, scale)
else:
imgArray[x][y] = cv2.resize(imgArray[x][y], (imgArray[0][0].shape[1], imgArray[0][0].shape[0]), None, scale, scale)
if len(imgArray[x][y].shape) == 2: imgArray[x][y]= cv2.cvtColor( imgArray[x][y], cv2.COLOR_GRAY2BGR)
imageBlank = np.zeros((height, width, 3), np.uint8)
hor = [imageBlank]*rows
hor_con = [imageBlank]*rows
for x in range(0, rows):
hor[x] = np.hstack(imgArray[x])
ver = np.vstack(hor)
else:
for x in range(0, rows):
if imgArray[x].shape[:2] == imgArray[0].shape[:2]:
imgArray[x] = cv2.resize(imgArray[x], (0, 0), None, scale, scale)
else:
imgArray[x] = cv2.resize(imgArray[x], (imgArray[0].shape[1], imgArray[0].shape[0]), None,scale, scale)
if len(imgArray[x].shape) == 2: imgArray[x] = cv2.cvtColor(imgArray[x], cv2.COLOR_GRAY2BGR)
hor= np.hstack(imgArray)
ver = hor
return ver
I am not able to install the library (OpebCvPython),Could you help me please
ERROR: Command errored out with exit status 1:
@@saahmad93 Make sure you're using the correct project interpreter. You might be missing the pg_config executable but I can't be certain because I can't see the entire error code. Try looking at Stack Overflow for help as there have most likely been others with the same or similar issue.
@@saahmad93 Also this is very buggy in other IDEs like VSCode so just use PyCharm
i was really looking for these...thanxxx :D :D
I have become a fan ! Definitely recommend to anyone who just came to the course.
Just finished chapter 7 , which was great. Chapter 5 blew my mind , it was very interesting!
I can't wait to start working on the projects !!
How to create resource folder? Can you help me
Man thank you so much. I've spent all of my Machine Learning studies working with theory, Random Forests, and Linear + Logistic Regression. Getting to finally break into computer vision thanks to someone who knows what they're doing is huge, I appreciate you. I haven't finished your whole playlist yet so I can't recommend anything sadly, but something I am interested in making is a distance detector. Basically a computer vision application that shoots out one "laser" and detects the distance at that lasers end point.
I am working on something similar. Have you developed something like that?
Thank you so much for this valuable course. I was new to Open cv and It took me 3 days to go through this video completely. Now I think I will be able to go through your other projects effectively. Thank you so much Murtaza.
This is perfect as an entry to opencv, after already having learned how the math and filters themselves work. This makes everything incredibly easy.
I am Glad you found it useful.
i have got ''import "cv2" could not be resolved Pylance(reportmissingImports) [1,8] issue. can someone pls help me?
omg i spent so long on my own trying to import cv2 it never worked u just made it a piece of cake I hope you live a long and happy life lol it had taken me hours and u helped me do it in seconds
thank you for your kind words
@@murtazasworkshop And you also actually reply and read your comments on your videos I am subscribing lol
OMG, i was looking for good source of info about OpenCV + Python for 3 day at different languages. I just started, but thank you in advance. You are awesome.
Glad it helped! Good Luck
This is just STUPID. Spent hours and hours on coursera trying to learn opencv. Ended up giving up on it because some links in the course weren't working, they were bouncing around back and forth through different tools, like pytorch just popped out of nowhere. Went showering youtube to see what I could find and I found this gem 💎. I swear I learned more in 30 minutes than I have in 8 hours on coursera. Take this as a complement please.
Hi,
This is indeed a good and informative video. In this video you showed that we can do reading of video from webcam... As I am also working on object tracking using webcam, I dont know how to extract the tracked coordinates (X,Y) of the object in .CSV or Excel sheet.
If you can make a video for many of us who are new to openCV and got struck on this point... it will be a great help.
Thanks
41:29, There's a shortcut to put cv2.FILLED. Just put '-1' as thickness and it will get filled. Works with all geometric shapes- rect, circle etc
The benefit of cv2.FILLED instead of -1 is that it's more readable and the programmer who will read your code in the future will not have to go check the documentation on what -1 means. It's always a best practice to use human understandable words instead of numbers. The very reason Enums exist.
@@PerfectHilton Although my advice was for solo-programmers, I appreciate your comment Hilton. Thanks 😄
@@piyushkhanna5159 just a habit of giving code reviews at work! Merry Christmas, happy holidays.
I'm only one third of the way through this but I must say - THIS IS AMAZING! I am learning so much (complete beginner with OpenCV)
Same here. Keep going yeah.
Wow!
This tutorial is so easy to understand and practice along the way.
It really helped me to grasp the fundamentals of OpenCV.
Thanks a ton Murtaza for such a great video and keep up the great work.
How to create resource folder?
Ok this really is the Best one among 100s of OpenCV tutorials on TH-cam!
Thank you for your kind words.
He is best teacher of open cv in the world ❤❤
Thank You for this great video. How you've designed the projects to go over all the chapter material is very thoughtful. The projects really helped solidify things covered by the chapters.
How to create resource folder.?
We need more Toturial like this. Thank you.
Omg man I was so fucking sad when I finished and it just ended! I always love it when the teacher gives a little goodbye for sticking with them for 3 hours, I wanted to see you :(
Same 💝
1:15:42 Done for the day... This is my bookmark... Thanks for such amazing tutorials man!
Done all in 1 day, but that was hard :) also figured how to do face detection using webcam, just by using your tutorial. Great work ! thanks a lot
2:00:10 "So none of them are working, great!" i laughed hard at this hahahah
Lol . True Story
Perfect. i love this section of 3 hours. my suggestion is make a application that's use a webcam, recognize letters and search words in diagram like (Word Search Scrabble Puzzle games)
how i can adjust my web cam to number plate for last project
I really appreciate the time and energy you had to put into all this work to be a success, Thank You for every sec.
Thank you for your kind words
i have got ''import "cv2" could not be resolved Pylance(reportmissingImports) [1,8] issue. can someone pls help me?
using skypacket in my area was hughs net does this make difference? Are there latencies with real time data retrieval?
Bro, i should just let you know... You are amazing! Fantastic teacher you are bruv! Hope you grow, you truly deserve it...
I have taken multiple courses related to opencv and no other course gave me this much clarity information.
Thank you
This is excellent, you have a new sub. looking forward to going through the rest of your channel!
Welcome aboard!
Chapter 6; the function he adds is:
def stackImages(scale,imgArray):
rows = len(imgArray)
cols = len(imgArray[0])
rowsAvailable = isinstance(imgArray[0], list)
width = imgArray[0][0].shape[1]
height = imgArray[0][0].shape[0]
if rowsAvailable:
for x in range ( 0, rows):
for y in range(0, cols):
if imgArray[x][y].shape[:2] == imgArray[0][0].shape [:2]:
imgArray[x][y] = cv2.resize(imgArray[x][y], (0, 0), None, scale, scale)
else:
imgArray[x][y] = cv2.resize(imgArray[x][y], (imgArray[0][0].shape[1], imgArray[0][0].shape[0]), None, scale, scale)
if len(imgArray[x][y].shape) == 2: imgArray[x][y]= cv2.cvtColor( imgArray[x][y], cv2.COLOR_GRAY2BGR)
imageBlank = np.zeros((height, width, 3), np.uint8)
hor = [imageBlank]*rows
hor_con = [imageBlank]*rows
for x in range(0, rows):
hor[x] = np.hstack(imgArray[x])
ver = np.vstack(hor)
else:
for x in range(0, rows):
if imgArray[x].shape[:2] == imgArray[0].shape[:2]:
imgArray[x] = cv2.resize(imgArray[x], (0, 0), None, scale, scale)
else:
imgArray[x] = cv2.resize(imgArray[x], (imgArray[0].shape[1], imgArray[0].shape[0]), None,scale, scale)
if len(imgArray[x].shape) == 2: imgArray[x] = cv2.cvtColor(imgArray[x], cv2.COLOR_GRAY2BGR)
hor= np.hstack(imgArray)
ver = hor
return ver
Thank you so so much! I have been looking every where to download it
from where we can get default xml files? any idea
I can't copy on phone so leaving this comment to find it when I get home.
Good luck
You deserve a standing ovation thk's
Thank you for your tutorial on OpenCV with python. I am usually working in C# VS and I would LOVE to have a tutorial in real time quad (four independent ROI's) for SFR (Spatial Frequency Response). This can be used for an EVK / Dev-Kit image sensor with lens looking at a slanted edge target (B/W) on optical axis. Essentially, it is recognizing the slanted edge gradients and since this is slanted, it reduces pixel (imager side) noise due to the diagonal cross section of how the ROI's read the edges. Mind you that each ROI will have real time MTF readings on all four sides. so 16 total MTF values which can be updated ~ 1.5 seconds. This is well know in online GUI apps and I do not want to utilize their approach. So Something fresh from you would be outstanding to say the least. This should be less in complexity compared to facial recognition but I thought I ask you please.
So finally i am almost done with my final year project.
It helped a lot !
Thanx for a detailed explanation for free !
If you are getting an error at 2:34:45 Make sure your webcam is pointing at the image, mine was on the table and would immediately error out. As soon as I adjusted the page to be in sight, It warped. :)
tried this didnt change anything can you help me out?
@@Bell0 So long as you followed everything up until this point, All I can say is I had to keep trying to run the program and moving my webcam to different positions, the program needs to see and image to warp, if it doesn't, it will crash or not run and throw an error. I used IVCam and my phone as the webcam, you could try that!
your room is beautiful. especially decorated ceiling!
If i had this when i was in school it would made my graduation easier much easier
Done with Full Course. Now, Open CV is not a alien to me. Thanks Sir.
projct 1: facemask detection, project 2: social distance monitoring, project 3: intruder detection system, if you can make these project than that would be very help full, by the way YOU ARE A GREAT TEACHER !! JUST AMAZING KEEP IT UP SIR.
thank you, the best tutorial i have ever watched!!!
Министр, вы настоящий мастер своего дела - благодаря вам я уже в плюсе!
Awesome video. I do have 2 projects that required computer vision and being a Mechanical engineer and phyton illiterate did not help the project. This really opened up a massive door that was blocking my way. The words to express my gratitude and thanks are not invented, yet.
I have a question on line detection. I noticed you always use GaussianBlur before using Canny and push the Blur image to the Canny Function. Is there a certain reason why you use Blurred image instead of the standard gray scale. The gray scale produces a sharper image which will result in sharper edges, Right??
literally this was a great tutorial one of the best thanks
Glad you liked it!
Chiến lược bạn chia sẻ rất dễ hiểu và phù hợp với người mới bắt đầu.
I havent watched the video yet and I already liked it by reading the comments :D
Chapter 9(Face Detection):
If anybody's encountering an error like this: (-215) !empty() in function detectMultiScale
Try calling the xml file this way:
faceCascade= cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
and then:
faces= faces.detectMultiScale(imgGray, 1.3, 5)
Thanks man! It works!
Thank you so much man! Amazing!!!
Bro... Thank you soo soo muchhhh
i was finding out the error the last 25 mins
Thank you so much, I'm waiting for new projects in Python, OpenCv
You are welcome
Can't believe this was free.Thanks Murtaza for sharing your knowledge with the world
Thank you so much sir❤
Today I completed the video 1:15:30 chapter 7
Sir I need the stack function code whose are used in chapter 6 and 7 for stacking images
def stackImages(scale,imgArray):
rows = len(imgArray)
cols = len(imgArray[0])
rowsAvailable = isinstance(imgArray[0], list)
width = imgArray[0][0].shape[1]
height = imgArray[0][0].shape[0]
if rowsAvailable:
for x in range ( 0, rows):
for y in range(0, cols):
if imgArray[x][y].shape[:2] == imgArray[0][0].shape [:2]:
imgArray[x][y] = cv2.resize(imgArray[x][y], (0, 0), None, scale, scale)
else:
imgArray[x][y] = cv2.resize(imgArray[x][y], (imgArray[0][0].shape[1], imgArray[0][0].shape[0]), None, scale, scale)
if len(imgArray[x][y].shape) == 2: imgArray[x][y]= cv2.cvtColor( imgArray[x][y], cv2.COLOR_GRAY2BGR)
imageBlank = np.zeros((height, width, 3), np.uint8)
hor = [imageBlank]*rows
hor_con = [imageBlank]*rows
for x in range(0, rows):
hor[x] = np.hstack(imgArray[x])
ver = np.vstack(hor)
else:
for x in range(0, rows):
if imgArray[x].shape[:2] == imgArray[0].shape[:2]:
imgArray[x] = cv2.resize(imgArray[x], (0, 0), None, scale, scale)
else:
imgArray[x] = cv2.resize(imgArray[x], (imgArray[0].shape[1], imgArray[0].shape[0]), None,scale, scale)
if len(imgArray[x].shape) == 2: imgArray[x] = cv2.cvtColor(imgArray[x], cv2.COLOR_GRAY2BGR)
hor= np.hstack(imgArray)
ver = hor
return ver
if anyone have latest version of numpy and getting the error ImportError: numpy.core.multiarray failed to import
open terminal and use
"pip install numpy==1.14.5"
this will solve it :)
thank you!!!!
thank you so much. I spend many days this wee trying solving this failure
@@danieltorres9954 no worries, happy coding man
how i can adjust my web cam to number plate for last project
I wish i would of found this channel sooner into the covid season lol
Thank you a lot ! I was looking for a good tutorial for OpenCV and i'm glad that i found you :D keep going !
It doesn't work for me 49:49 my image seems to be reversed and i have a black screen at the middle, at the top i have a cord reversed and bottom the background color (gray)
Great Tutorial, im looking forward to learn ESP32. it will be very helpful if you could do a series of lessons on esp32, and how to program using Arduino.
Thanks for this great source!
I'm using the latest version of python, would it cause any problem before I start?
For this tutorial it will not . but if you end up trying AI frameworks such as tensorflow it might give you some trouble.
Don't even know what this is about but I've been watching for the last 39 minutes
You are the best teacher I've ever watched
Your voice is so relaxing and not boring and the way you explain is totally and literally satisfying
I love coding knowing that I'm just beginner
U made me love coding even more
I love you dude keep on
Simply amazing. Thanks for your hard work putting all this together! I know how hard it is to put 30 minutes videoes together.... great job!!!
Glad you enjoy it!
i have got ''import "cv2" could not be resolved Pylance(reportmissingImports) [1,8] issue. can someone pls help me?
face reveal pls lol i am about to finish this course and i have learned so much!
i have a problem when i try to import the image it says attributeerror: 'str' object has no attribute 'img'
same
@@jacques8024 same
The instructions were unclear, ended up creating a terminator. Now it looks for Murtaza Conor 👀
lol i better go in hiding then
hi pal, these tutorial videos are very useful for self-spaced learner, they are compact, inclusive with open cv basics. Thx
Thank you!
You are real guru.
The way you're explaining all the things is very good.
Thumbs up!
Связка огонь, пока работает, пробуем 😮🎉
I am interested to build a face recognition device for home security with opencv
Can we work both
It's Christmas but I am watching this because I'm an alone loser. Anyway, Merry Christmas.
Merry Christmas, my Friend!
Mery Christmas my dude!
belated merrry christmas
Great Explanation Man
Covered All the important topics
You make opencv so easy to understand. You video is very easy to follow and understand. Thank you
Thank you soo much. Professional programmers like you seriously providing good knowledge with example and not just talking like some ppl do. 1st yr student like me really can learn and implement alot.
Welcome. and good luck.
@@murtazasworkshop thanks. 👍😀
Thank you for the tutorial, helped me a lot with my school project
TH-cam tutorial par excellence. Great explanations, perfect pacing and very professional presentation. I would subscribe 10 times if I could.
45 minutes in. Saving for later.
For those having issues with the autocomplete not working, use "from cv2 import cv2"
A very wonderful video. Thank you.
Very clear explanations and careful step-by-step instructions! Love your work!
struggling a few of these topics. thank you so much for the effort to put this together and share the knowledge! appreciated!
Your teaching skills are on a different level.
Hi! i am having an issue at 1:26:32 in the getContours function the error is
contours,hierarchy = cv2.findContours(img,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)
ValueError: too many values to unpack (expected 2)
But when i hover my mouse over the getCountour function it says:
You need configured Python 2 SDK to render Epydoc docstrings
Please help
A great resource in this case is the internet. Just paste that error and you'll get answer. Or go to stack overflow and ask there's great resource.
THANKS for making these excellent courses for us.
At 14:34
it would be nicer to have this kind of code:
#v is the object of VideoCapture
while True:
isData, img = v.read()
if isData:
cv2.imshow("Video",img)
if cv2.waitKey(20) & 0xFF==ord('q'):
cv2.destroyAllWindows()
break
else:
cv2.destroyAllWindows()
break
and in the webcam, adding v.release() at the end of while loop
00:00 Intro
2:17 Introduction to Images
4:37 Installations
9:09 Chapter 1
17:01 Chapter 2
27:31 Chapter 3
34:12 Chapter 4
44:59 Chapter 5
50:04 Chapter 6
56:14 Chapter 7
1:15:37 Chapter8
1:40:31 Chapter 9
1:46:03 Project 1
2:15:45 Project 2
2:56:34 Project 3
That is amazing, thank yu so much for such a full video tutorial. With the help of your videos I have started to learn python, opencv and so on))
00:06 Learn OpenCV in three hours
08:51 Learn how to read images, videos, and webcam with OpenCV
27:31 OpenCV image processing: resizing, cropping, and drawing shapes
35:54 You can add color to images and create lines, rectangles, circles, and text in OpenCV
52:38 You can easily stack images together, even if they have different number of channels.
1:00:15 Generate a summary in a single point in JSON format.
1:16:17 Detecting and categorizing shapes in an image using grayscale conversion, edge detection, and contour finding.
1:24:44 Contours and shapes detection using computer vision
1:40:48 Real-time object detection using cascades classifier
1:48:56 Convert normal image into HSV and detect multiple colors using masks.
2:03:54 We need to define color values and draw circles based on these values.
2:11:29 Pre-processing the image to detect edges
2:29:06 The main point is to reorder points before sending them for working.
2:37:25 The smallest point is (0,0) and the biggest point is (width, height).
2:54:33 This project focuses on real-time number plate detection using webcam and Cascade method.
3:04:26 Code to save multiple images in a scanned folder.
Where can I get that resources folder , he didn't mention anywhere in video
Hey Yash Patel is all the codes relevant in 2024 ?
@@ayush07310 yes I currently using in my project.
"cv2.imshow("Output".img)AttributeError: 'str' object has no attribute 'img' " Hey good people i could use a little help here. How do you get the "resources" file in the "opencvPython" file in the projects menu? it showed up at 9:15 in the vid. i need to know how it got there. Thank you in advance
you can right click and add new directory . Its just like creating a new folder.
@@murtazasworkshop ok I did that but and got it in there as a directory. Went into my hard drive copy/ pasted the images Lena lambo cards etc into the directory and still nothing. I mean I can see it in there under the open CV python file and I can see it has images in it. When I try to run it I get the error and it also says in the pathway to resources, it stops at chapter1.py doesn't go all the way to resources. I'm sorry if this is hard to understand what my problem is. I'm a greenhorn lol. Would pics help? Also on mine it is light blue in color and yours is gray. Python 3.7.6/ pycharm 2020.3
Just superb brother. Keep up the good work. Absolutely loved it.
TIP Sir : If you pressed the scroll button on mouse and start selecting.. you can select vertically a specific range. And thank you so much for this effort you have put for us. this was so helpful. Im daily learning these by part
Alhamdulillah i find your channel. Good explanation. Keep the good work.
What a great tutorial. The best I have ever seen. You are great. Thank you so much. Keep it on.
I'm newbie, just found this very helpful video.
Thank you so much!!!
Congrats for such excelent video!!! Your commitment with community is amazing!
How to create resource folder?
@@naraniyamini7765 you could create it using the filesystem explorer you have, or inside Pycharm, in the left menu, put the mouse on the root of the filesystem, and you could click on right button, and select "create package"
@@Mouta77 thank you I created package but unable to save image in it
Thank you so much for course- very easy and enough comprehansive
I jyst use java for my project, but used your course like a start point!
The best OpenCV tutorial so far.