LEARN OPENCV in 3 HOURS with Python | Including 3xProjects | Computer Vision

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ม.ค. 2025

ความคิดเห็น • 2.2K

  • @murtazasworkshop
    @murtazasworkshop  4 ปีที่แล้ว +311

    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.

    • @mr.mksaid4525
      @mr.mksaid4525 4 ปีที่แล้ว +64

      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

    • @actionkey8042
      @actionkey8042 4 ปีที่แล้ว +3

      goood video and jobs ;)

    • @Ramucho25
      @Ramucho25 4 ปีที่แล้ว +7

      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

    • @preranasharma429
      @preranasharma429 4 ปีที่แล้ว +5

      Satellite image segmentation

    • @vincentjr8013
      @vincentjr8013 4 ปีที่แล้ว +6

      I want to know who is that girl in video thumnail.

  • @cyenblue
    @cyenblue 4 ปีที่แล้ว +764

    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

    • @mayankprasoontirkey369
      @mayankprasoontirkey369 4 ปีที่แล้ว +19

      god bless you

    • @deepanshmakkar5118
      @deepanshmakkar5118 4 ปีที่แล้ว +13

      Here's an angel

    • @exoticme4760
      @exoticme4760 4 ปีที่แล้ว +2

      hi, can i ask after this video how should one rate themselves in opencv from (0-10) 10 as in expert?

    • @CelestialGamz
      @CelestialGamz 4 ปีที่แล้ว

      Why???
      Got some pennies ???

    • @exoticme4760
      @exoticme4760 4 ปีที่แล้ว +1

      @@CelestialGamz what?

  • @yangyong6245
    @yangyong6245 4 ปีที่แล้ว +841

    I'm OpenCV expert. I recommend this video perfectly as expert's view.

    • @murtazasworkshop
      @murtazasworkshop  4 ปีที่แล้ว +71

      Thank you

    • @spamcolector
      @spamcolector 4 ปีที่แล้ว +12

      Are you really watched all video?

    • @nishikantmundokar228
      @nishikantmundokar228 4 ปีที่แล้ว +11

      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

    • @voltifer5267
      @voltifer5267 4 ปีที่แล้ว +5

      Микола Васькевич английский выучи и потом пиши

    • @garukaws
      @garukaws 4 ปีที่แล้ว +10

      @@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()

  • @lamedev1342
    @lamedev1342 4 ปีที่แล้ว +17

    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.

  • @kuvar23
    @kuvar23 4 ปีที่แล้ว +22

    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!

  • @trdngy8230
    @trdngy8230 4 ปีที่แล้ว +31

    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

  • @manjeeeeet
    @manjeeeeet 4 ปีที่แล้ว +99

    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

  • @alexsonchu3268
    @alexsonchu3268 4 ปีที่แล้ว +194

    just 1 video to clear all the confusion I had in years. you deserve more then 1 like.
    thanks so much.

    • @murtazasworkshop
      @murtazasworkshop  4 ปีที่แล้ว +18

      Thank you for your kind words. I am glad the video was of help.

    • @curious_one1156
      @curious_one1156 4 ปีที่แล้ว +6

      @@murtazasworkshop
      This needs to be on free code camp.
      Make your channel more popular by slightly diversifying your content, and video lengths.

    • @RohitSharma-jp4nc
      @RohitSharma-jp4nc 4 ปีที่แล้ว

      couldn't say better!!!!

    • @varuncontractor2697
      @varuncontractor2697 4 ปีที่แล้ว

      Alexson Chu, you just articulated what I was feeling. My 1000 likes for the creator of this video!!! Awesome.............

  • @shanepython
    @shanepython 4 ปีที่แล้ว +121

    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.

    • @murtazasworkshop
      @murtazasworkshop  4 ปีที่แล้ว +21

      Glad it was helpful! and thank you for your kind words

    • @mbn-code
      @mbn-code 4 ปีที่แล้ว +3

      same lol and so meny of the other videos dident work lol

    • @franksaruhan
      @franksaruhan 2 ปีที่แล้ว +1

      Where are the function he refers?

    • @saumilgupta2383
      @saumilgupta2383 ปีที่แล้ว

      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

  • @furkansenocak6824
    @furkansenocak6824 4 ปีที่แล้ว +3

    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...

  • @dsk9963
    @dsk9963 4 ปีที่แล้ว +21

    Never expected such a organized educational video online for free. Thanks!

    • @murtazasworkshop
      @murtazasworkshop  4 ปีที่แล้ว +6

      Glad it was helpful!

    • @joelthomas8617
      @joelthomas8617 ปีที่แล้ว

      ​@@murtazasworkshop sir what are the prerequisites for this video

  • @nandinimalviya6210
    @nandinimalviya6210 4 ปีที่แล้ว +10

    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!!!!!!!!!!!

  • @WederGonzalez
    @WederGonzalez 4 ปีที่แล้ว +49

    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

  • @ESkillify
    @ESkillify 4 ปีที่แล้ว +223

    i have completed for this point 1:12:30
    that's enough for today
    thank you for the adequate explanation

    • @murtazasworkshop
      @murtazasworkshop  4 ปีที่แล้ว +18

      You're Welcome. good luck with the rest

    • @李昊-p7z
      @李昊-p7z 4 ปีที่แล้ว +6

      me too

    • @jaytravis2487
      @jaytravis2487 4 ปีที่แล้ว

      You should blog your progress here. I too am working with this video.

    • @SACKO0731
      @SACKO0731 3 ปีที่แล้ว

      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

    • @goose_clues
      @goose_clues 3 ปีที่แล้ว +16

      @@SACKO0731 maybe capslock is the reason

  • @brainfreeze77
    @brainfreeze77 4 ปีที่แล้ว +12

    Dude, your channel is like a hidden gem. Great stuff.

  • @mosha4726
    @mosha4726 3 ปีที่แล้ว +1

    This level of articulation is a testament to your deep understanding of the subject. One of the best.

  • @egomalego
    @egomalego 4 ปีที่แล้ว +305

    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
      @saahmad93 4 ปีที่แล้ว +1

      I am not able to install the library (OpebCvPython),Could you help me please

    • @saahmad93
      @saahmad93 4 ปีที่แล้ว

      ERROR: Command errored out with exit status 1:

    • @egomalego
      @egomalego 4 ปีที่แล้ว

      @@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.

    • @bigboi7140
      @bigboi7140 4 ปีที่แล้ว +1

      @@saahmad93 Also this is very buggy in other IDEs like VSCode so just use PyCharm

    • @shourovdip3706
      @shourovdip3706 4 ปีที่แล้ว +11

      i was really looking for these...thanxxx :D :D

  • @shallow_choices1887
    @shallow_choices1887 3 ปีที่แล้ว +3

    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 !!

    • @naraniyamini7765
      @naraniyamini7765 3 ปีที่แล้ว

      How to create resource folder? Can you help me

  • @seekergx8096
    @seekergx8096 4 ปีที่แล้ว +6

    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.

    • @aliejaz1240
      @aliejaz1240 2 ปีที่แล้ว

      I am working on something similar. Have you developed something like that?

  • @isurucumaranathunga
    @isurucumaranathunga 3 ปีที่แล้ว +2

    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.

  • @nrdesign1991
    @nrdesign1991 3 ปีที่แล้ว +18

    This is perfect as an entry to opencv, after already having learned how the math and filters themselves work. This makes everything incredibly easy.

    • @murtazasworkshop
      @murtazasworkshop  3 ปีที่แล้ว

      I am Glad you found it useful.

    • @baturalpkaplan5516
      @baturalpkaplan5516 2 ปีที่แล้ว

      i have got ''import "cv2" could not be resolved Pylance(reportmissingImports) [1,8] issue. can someone pls help me?

  • @bigboi7140
    @bigboi7140 4 ปีที่แล้ว +7

    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

    • @murtazasworkshop
      @murtazasworkshop  4 ปีที่แล้ว +2

      thank you for your kind words

    • @bigboi7140
      @bigboi7140 4 ปีที่แล้ว +2

      @@murtazasworkshop And you also actually reply and read your comments on your videos I am subscribing lol

  • @DEXUS1990
    @DEXUS1990 4 ปีที่แล้ว +4

    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.

  • @Andrey-rc6wp
    @Andrey-rc6wp 2 ปีที่แล้ว +5

    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.

  • @yogeshbhargava8580
    @yogeshbhargava8580 10 หลายเดือนก่อน +1

    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

  • @piyushkhanna5159
    @piyushkhanna5159 3 ปีที่แล้ว +27

    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

    • @PerfectHilton
      @PerfectHilton 2 ปีที่แล้ว +5

      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.

    • @piyushkhanna5159
      @piyushkhanna5159 2 ปีที่แล้ว +2

      @@PerfectHilton Although my advice was for solo-programmers, I appreciate your comment Hilton. Thanks 😄

    • @PerfectHilton
      @PerfectHilton 2 ปีที่แล้ว +2

      @@piyushkhanna5159 just a habit of giving code reviews at work! Merry Christmas, happy holidays.

  • @chipko
    @chipko 3 ปีที่แล้ว +2

    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)

    • @tomiinai
      @tomiinai 3 ปีที่แล้ว +1

      Same here. Keep going yeah.

  • @Sunny-qe5el
    @Sunny-qe5el 3 ปีที่แล้ว +3

    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.

  • @Hasan...
    @Hasan... 4 ปีที่แล้ว +2

    Ok this really is the Best one among 100s of OpenCV tutorials on TH-cam!

  • @MusawarMehdi
    @MusawarMehdi 4 หลายเดือนก่อน +1

    He is best teacher of open cv in the world ❤❤

  • @gayathrigirishnair7405
    @gayathrigirishnair7405 3 ปีที่แล้ว +6

    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.

  • @devaraj1102
    @devaraj1102 4 ปีที่แล้ว +9

    We need more Toturial like this. Thank you.

  • @poseidonbrozeus5888
    @poseidonbrozeus5888 4 ปีที่แล้ว +29

    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 :(

  • @manavt2000
    @manavt2000 3 ปีที่แล้ว +2

    1:15:42 Done for the day... This is my bookmark... Thanks for such amazing tutorials man!

  • @pkron96
    @pkron96 4 ปีที่แล้ว +2

    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

  • @DataversePH
    @DataversePH 4 ปีที่แล้ว +98

    2:00:10 "So none of them are working, great!" i laughed hard at this hahahah

  • @lunegreiros
    @lunegreiros 4 ปีที่แล้ว +5

    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)

    • @devenderkumar-pr6ig
      @devenderkumar-pr6ig 3 ปีที่แล้ว

      how i can adjust my web cam to number plate for last project

  • @skynet1511
    @skynet1511 4 ปีที่แล้ว +22

    I really appreciate the time and energy you had to put into all this work to be a success, Thank You for every sec.

    • @murtazasworkshop
      @murtazasworkshop  4 ปีที่แล้ว +3

      Thank you for your kind words

    • @baturalpkaplan5516
      @baturalpkaplan5516 2 ปีที่แล้ว

      i have got ''import "cv2" could not be resolved Pylance(reportmissingImports) [1,8] issue. can someone pls help me?

    • @williamcabisca5058
      @williamcabisca5058 2 ปีที่แล้ว

      using skypacket in my area was hughs net does this make difference? Are there latencies with real time data retrieval?

  • @suryadarshan2381
    @suryadarshan2381 ปีที่แล้ว

    Bro, i should just let you know... You are amazing! Fantastic teacher you are bruv! Hope you grow, you truly deserve it...

  • @et0x
    @et0x 3 ปีที่แล้ว

    I have taken multiple courses related to opencv and no other course gave me this much clarity information.
    Thank you

  • @kuro2ck
    @kuro2ck 4 ปีที่แล้ว +16

    This is excellent, you have a new sub. looking forward to going through the rest of your channel!

  • @cesarborgen3188
    @cesarborgen3188 3 ปีที่แล้ว +12

    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

    • @lechihieu2606
      @lechihieu2606 2 ปีที่แล้ว

      Thank you so so much! I have been looking every where to download it

    • @yusrashaikh252
      @yusrashaikh252 2 ปีที่แล้ว

      from where we can get default xml files? any idea

    • @danielcat5831
      @danielcat5831 ปีที่แล้ว

      I can't copy on phone so leaving this comment to find it when I get home.

    • @murtazasworkshop
      @murtazasworkshop  ปีที่แล้ว

      Good luck

  • @lambda9331
    @lambda9331 4 ปีที่แล้ว +7

    You deserve a standing ovation thk's

  • @banffspring72
    @banffspring72 2 ปีที่แล้ว

    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.

  • @gaurikuwalekar1517
    @gaurikuwalekar1517 3 ปีที่แล้ว

    So finally i am almost done with my final year project.
    It helped a lot !
    Thanx for a detailed explanation for free !

  • @terranovatech8672
    @terranovatech8672 4 ปีที่แล้ว +6

    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
      @Bell0 3 ปีที่แล้ว

      tried this didnt change anything can you help me out?

    • @terranovatech8672
      @terranovatech8672 3 ปีที่แล้ว

      @@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!

  • @dominikagrajewska7791
    @dominikagrajewska7791 4 ปีที่แล้ว +3

    your room is beautiful. especially decorated ceiling!

  • @bouhannacheabdallah
    @bouhannacheabdallah 4 ปีที่แล้ว +14

    If i had this when i was in school it would made my graduation easier much easier

  • @vinaychitturi5183
    @vinaychitturi5183 3 ปีที่แล้ว

    Done with Full Course. Now, Open CV is not a alien to me. Thanks Sir.

  • @RaviTeja-sk3vt
    @RaviTeja-sk3vt 4 ปีที่แล้ว

    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.

  • @zanivanusa7855
    @zanivanusa7855 4 ปีที่แล้ว +8

    thank you, the best tutorial i have ever watched!!!

    • @MarJaru-xs4vs
      @MarJaru-xs4vs 7 หลายเดือนก่อน

      Министр, вы настоящий мастер своего дела - благодаря вам я уже в плюсе!

  • @serdaraytemiz9978
    @serdaraytemiz9978 4 ปีที่แล้ว +4

    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??

  • @prakashupadhyay9824
    @prakashupadhyay9824 4 ปีที่แล้ว +10

    literally this was a great tutorial one of the best thanks

  • @MitchellBrooks-g9z
    @MitchellBrooks-g9z 5 หลายเดือนก่อน

    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.

  • @Skpexable
    @Skpexable 4 ปีที่แล้ว +3

    I havent watched the video yet and I already liked it by reading the comments :D

  • @omersohail95
    @omersohail95 4 ปีที่แล้ว +10

    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)

    • @bryankee1368
      @bryankee1368 4 ปีที่แล้ว

      Thanks man! It works!

    • @lincolnwallace17
      @lincolnwallace17 3 ปีที่แล้ว

      Thank you so much man! Amazing!!!

    • @CodeOmega_
      @CodeOmega_ 3 ปีที่แล้ว

      Bro... Thank you soo soo muchhhh
      i was finding out the error the last 25 mins

  • @meusoft
    @meusoft 4 ปีที่แล้ว +9

    Thank you so much, I'm waiting for new projects in Python, OpenCv

  • @rohitarya4414
    @rohitarya4414 2 ปีที่แล้ว

    Can't believe this was free.Thanks Murtaza for sharing your knowledge with the world

  • @MajidAli-wx3px
    @MajidAli-wx3px 3 ปีที่แล้ว +3

    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

    • @房鹏伟
      @房鹏伟 2 ปีที่แล้ว

      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

  • @TheAuraa
    @TheAuraa 4 ปีที่แล้ว +10

    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 :)

    • @MrBlurie23
      @MrBlurie23 4 ปีที่แล้ว

      thank you!!!!

    • @danieltorres9954
      @danieltorres9954 4 ปีที่แล้ว +1

      thank you so much. I spend many days this wee trying solving this failure

    • @TheAuraa
      @TheAuraa 4 ปีที่แล้ว

      @@danieltorres9954 no worries, happy coding man

    • @devenderkumar-pr6ig
      @devenderkumar-pr6ig 3 ปีที่แล้ว

      how i can adjust my web cam to number plate for last project

  • @davideastwood5668
    @davideastwood5668 4 ปีที่แล้ว +5

    I wish i would of found this channel sooner into the covid season lol

  • @alana.4629
    @alana.4629 2 ปีที่แล้ว +1

    Thank you a lot ! I was looking for a good tutorial for OpenCV and i'm glad that i found you :D keep going !

  • @sidyniang_coding4101
    @sidyniang_coding4101 3 ปีที่แล้ว

    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)

  • @rajasekars9991
    @rajasekars9991 4 ปีที่แล้ว +6

    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.

  • @noorhassounehh
    @noorhassounehh 4 ปีที่แล้ว +13

    Thanks for this great source!
    I'm using the latest version of python, would it cause any problem before I start?

    • @murtazasworkshop
      @murtazasworkshop  4 ปีที่แล้ว +10

      For this tutorial it will not . but if you end up trying AI frameworks such as tensorflow it might give you some trouble.

  • @changedmyways7100
    @changedmyways7100 4 ปีที่แล้ว +4

    Don't even know what this is about but I've been watching for the last 39 minutes

  • @nodistinguish5924
    @nodistinguish5924 3 ปีที่แล้ว

    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

  • @tech-letters
    @tech-letters 4 ปีที่แล้ว +2

    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!!!

    • @murtazasworkshop
      @murtazasworkshop  4 ปีที่แล้ว

      Glad you enjoy it!

    • @baturalpkaplan5516
      @baturalpkaplan5516 2 ปีที่แล้ว

      i have got ''import "cv2" could not be resolved Pylance(reportmissingImports) [1,8] issue. can someone pls help me?

  • @bigboi7140
    @bigboi7140 4 ปีที่แล้ว +8

    face reveal pls lol i am about to finish this course and i have learned so much!

  • @huntersama4099
    @huntersama4099 4 ปีที่แล้ว +5

    i have a problem when i try to import the image it says attributeerror: 'str' object has no attribute 'img'

    • @jacques8024
      @jacques8024 4 ปีที่แล้ว

      same

    • @EricZhu
      @EricZhu 4 ปีที่แล้ว

      @@jacques8024 same

  • @commitmaster4543
    @commitmaster4543 4 ปีที่แล้ว +27

    The instructions were unclear, ended up creating a terminator. Now it looks for Murtaza Conor 👀

  • @zhany0u
    @zhany0u 11 หลายเดือนก่อน +1

    hi pal, these tutorial videos are very useful for self-spaced learner, they are compact, inclusive with open cv basics. Thx

  • @AlexKite68
    @AlexKite68 3 ปีที่แล้ว

    Thank you!
    You are real guru.
    The way you're explaining all the things is very good.
    Thumbs up!

  • @karthiff-yu5ws
    @karthiff-yu5ws 6 หลายเดือนก่อน

    Связка огонь, пока работает, пробуем 😮🎉

  • @gamersshrine9216
    @gamersshrine9216 4 ปีที่แล้ว +10

    I am interested to build a face recognition device for home security with opencv

  • @notchad2743
    @notchad2743 4 ปีที่แล้ว +8

    It's Christmas but I am watching this because I'm an alone loser. Anyway, Merry Christmas.

  • @shoaibkhan-rr8he
    @shoaibkhan-rr8he 6 หลายเดือนก่อน

    Great Explanation Man
    Covered All the important topics

  • @ssgoh4968
    @ssgoh4968 4 ปีที่แล้ว

    You make opencv so easy to understand. You video is very easy to follow and understand. Thank you

  • @Sidex150-g1p
    @Sidex150-g1p 4 ปีที่แล้ว

    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.

    • @murtazasworkshop
      @murtazasworkshop  4 ปีที่แล้ว +1

      Welcome. and good luck.

    • @Sidex150-g1p
      @Sidex150-g1p 4 ปีที่แล้ว

      @@murtazasworkshop thanks. 👍😀

  • @tuliohenrique6146
    @tuliohenrique6146 2 ปีที่แล้ว +1

    Thank you for the tutorial, helped me a lot with my school project

  • @seanmenzies1986
    @seanmenzies1986 3 ปีที่แล้ว +1

    TH-cam tutorial par excellence. Great explanations, perfect pacing and very professional presentation. I would subscribe 10 times if I could.

  • @googleuser298
    @googleuser298 3 ปีที่แล้ว

    45 minutes in. Saving for later.
    For those having issues with the autocomplete not working, use "from cv2 import cv2"

  • @sergprimak4695
    @sergprimak4695 9 หลายเดือนก่อน +1

    A very wonderful video. Thank you.

  • @hoangkaka9972
    @hoangkaka9972 3 ปีที่แล้ว +1

    Very clear explanations and careful step-by-step instructions! Love your work!

  • @rollbot
    @rollbot 2 ปีที่แล้ว

    struggling a few of these topics. thank you so much for the effort to put this together and share the knowledge! appreciated!

  • @cd78
    @cd78 2 ปีที่แล้ว

    Your teaching skills are on a different level.

  • @muhammadwaleedkhan7028
    @muhammadwaleedkhan7028 4 ปีที่แล้ว +1

    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

    • @urielcobo-cuisana2316
      @urielcobo-cuisana2316 4 ปีที่แล้ว

      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.

  • @dailyqurankareem3247
    @dailyqurankareem3247 3 ปีที่แล้ว

    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

  • @keeplaughing4753
    @keeplaughing4753 4 ปีที่แล้ว +2

    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

  • @lex-un-der
    @lex-un-der 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))

  • @yasheshpatel9159
    @yasheshpatel9159 7 หลายเดือนก่อน

    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.

    • @M_J_9_7
      @M_J_9_7 7 หลายเดือนก่อน

      Where can I get that resources folder , he didn't mention anywhere in video

    • @ayush07310
      @ayush07310 7 หลายเดือนก่อน

      Hey Yash Patel is all the codes relevant in 2024 ?

    • @yasheshpatel9159
      @yasheshpatel9159 7 หลายเดือนก่อน

      @@ayush07310 yes I currently using in my project.

  • @davideastwood5668
    @davideastwood5668 4 ปีที่แล้ว +1

    "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
      @murtazasworkshop  4 ปีที่แล้ว +1

      you can right click and add new directory . Its just like creating a new folder.

    • @davideastwood5668
      @davideastwood5668 4 ปีที่แล้ว

      @@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

  • @mugheerasaleem6391
    @mugheerasaleem6391 2 ปีที่แล้ว

    Just superb brother. Keep up the good work. Absolutely loved it.

  • @senduranravikumar3554
    @senduranravikumar3554 4 ปีที่แล้ว +2

    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

  • @abdulmuthalib8036
    @abdulmuthalib8036 4 ปีที่แล้ว

    Alhamdulillah i find your channel. Good explanation. Keep the good work.

  • @shakmakbu
    @shakmakbu 4 ปีที่แล้ว

    What a great tutorial. The best I have ever seen. You are great. Thank you so much. Keep it on.

  • @MrRe-sj2iv
    @MrRe-sj2iv 2 ปีที่แล้ว

    I'm newbie, just found this very helpful video.
    Thank you so much!!!

  • @Mouta77
    @Mouta77 3 ปีที่แล้ว

    Congrats for such excelent video!!! Your commitment with community is amazing!

    • @naraniyamini7765
      @naraniyamini7765 3 ปีที่แล้ว

      How to create resource folder?

    • @Mouta77
      @Mouta77 3 ปีที่แล้ว

      @@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"

    • @naraniyamini7765
      @naraniyamini7765 3 ปีที่แล้ว

      @@Mouta77 thank you I created package but unable to save image in it

  • @konstantinpetrishev8568
    @konstantinpetrishev8568 4 ปีที่แล้ว

    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!

  • @TXfoxie
    @TXfoxie 3 ปีที่แล้ว

    The best OpenCV tutorial so far.