Detecting color with Python and OpenCV using HSV colorspace | Computer vision tutorial

Поділитися
Вставка
  • Опубліковано 21 сер 2024
  • Code: github.com/com...
    #computervision #opencv #colordetection

КОМЕНТАРІ • 108

  • @ComputerVisionEngineer
    @ComputerVisionEngineer  7 місяців тому +2

    Did you enjoy this video? Try my premium courses! 😃🙌😊
    ● End-To-End Computer Vision: Build and Deploy a Video Summarization API bit.ly/3tyQX0M
    ● Hands-On Computer Vision in the Cloud: Building an AWS-based Real Time Number Plate Recognition System bit.ly/3RXrE1Y
    ● Machine Learning Entrepreneur: How to start your entrepreneurial journey as a freelancer and content creator bit.ly/4bFLeaC
    All my premium courses are available to the Computer Vision Experts in my Patreon. 😉
    www.patreon.com/ComputerVisionEngineer

    • @iamrahiii
      @iamrahiii 7 місяців тому

      I'm your big fan ,following since you have started channel. Now I'm unable to deploy my project live on github . Can you help me to live the project.

  • @Lux1431996
    @Lux1431996 5 місяців тому +3

    This is so perfectly what I was looking for. Thank you so much! Might enable me to build a great production inline measurement system for "a penny".

  • @kiitanayandosu-ug7pe
    @kiitanayandosu-ug7pe 5 місяців тому +1

    This was such an amazing tutorila thank you so much!

  • @John-xi2im
    @John-xi2im 5 місяців тому

    superb tutorial, very informative and mind blowing!!

  • @richieora57
    @richieora57 Рік тому +1

    so cool.thank you, learned a lot!

  • @warriorlele5523
    @warriorlele5523 27 днів тому

    awesome video man

  • @muratakar1972
    @muratakar1972 Рік тому +1

    Very useful tutorial, thanks.

  • @drushtiladhani8370
    @drushtiladhani8370 Рік тому +3

    hey
    i am getting error in this line
    hsvImage = cv2.cvtColor(imageFrame, cv2.COLOR_BGR2HSV)
    please tell me how to solve
    cv2.cvtColor- in this

  • @e1senvlr
    @e1senvlr 7 місяців тому

    Cool explanation, thank you sir

  • @perth-ambhattarai4106
    @perth-ambhattarai4106 7 місяців тому

    Thannnk You!!!!!! That was smoooooooooothhhhhhhhhhh

  • @RishiKumar-vb7fy
    @RishiKumar-vb7fy 7 місяців тому +1

    Can we make something where camera detects the colour in traffic light and tells what colour is the light and it will assist the colourblind people if they are confused. Blinking yellow and blinking red is tough for them. It may be a good project.

  • @coimbrawebs
    @coimbrawebs Місяць тому

    Nice video man

  • @ecsyntric
    @ecsyntric Рік тому

    this is better than pysource tutorial. how is it that all spanish guys are experts in CV? :)

  • @selamushirtawi3909
    @selamushirtawi3909 5 місяців тому +1

    i am facing the following error
    cv2.error: OpenCV(4.6.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'

  • @mohammadzamanzamani9775
    @mohammadzamanzamani9775 Рік тому

    amazing video !

  • @dwaipayansarkar1815
    @dwaipayansarkar1815 5 місяців тому +2

    Your code is not properly working tho

  • @sanamakbari1370
    @sanamakbari1370 3 місяці тому

    Thank you

  • @whlau6191
    @whlau6191 8 місяців тому

    Thank you! It is so concise! May I know could this be further refined to detect objects based on the criteria like shape (eg rectangle in different orientation) and size (eg pixel x pixel)? Thanks!

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  8 місяців тому

      Yes, it can be done. You can further refine it to detect objects of a given color based on size and approx orientation. 🙌

  • @ecsyntric
    @ecsyntric Рік тому

    awesome

  • @DubinaStudio
    @DubinaStudio 11 місяців тому

    I'm thinking of a device in the form of a video camera. This device will consist of a RaspberryPi, a camera module and display. This device will demonstrate the operation of the program for participation in roboracing. I propose to create a team to work on this project. In the future, it will be possible to participate in the OpenCV AI Competition 2023+n with this project. From Uruguay, you can participate in the competition)

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  11 місяців тому

      Sounds great! I think I won't be able to join, but best of luck with your project! 😃🙌

  • @nikolaiownz
    @nikolaiownz 3 місяці тому

    Can you do a tutorial on how to regognise light a few colors light and the maybe log in into a excel for data to use. i want to make a uptime logger for my cnc machines

  • @borallylyl8427
    @borallylyl8427 Рік тому +1

    Hello, I'm trying to create a program that detects and counts objects by color, but now I can only count four colors, these are red, blue, green and yellow. I wonder if I can add the whole color scale to the program, how can I do this? I will be very happy if you give back. have a nice day😊

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  Рік тому

      Hey, I think adding the entire color scale to the program will be very challenging. I would suggest to add more colors incrementally until performance is affected. 🙌

  • @dwaipayansarkar1815
    @dwaipayansarkar1815 5 місяців тому

    In the get limits function
    c = np.uint8([[yellow]])
    is throwing error

  • @drm8164
    @drm8164 Місяць тому

    Excuse me Sir, please can I ask you a question: I just decided to pay for the OpenCV certification, its 1500 canadian dollars, and I m pretty convinced that it is a great investment for my future career in CV.
    Please can you give me your opinion? It will be a great help
    Thank you in advance :)

  • @kailashramakrishnan7010
    @kailashramakrishnan7010 9 місяців тому

    Even small pixels of yellow are detected, from the background, how do I increase the priority to be for just the object

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  9 місяців тому

      You could apply a blur to remove the small yellow pixels before applying the color detection.

  • @ethaninfante2768
    @ethaninfante2768 6 місяців тому

    Is there a way to display an array at the center of the webcam and if a certain color gets in that array it will send some sort of signal to a mechanism?

  • @user-hf6sz3bx8h
    @user-hf6sz3bx8h 10 місяців тому

    Very useful tutorial, thank you!
    i would like to know how to make it work on black?

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  10 місяців тому

      Have you tried by changing the bgr color to black (0, 0, 0)? Let me know if it works! 🙌

  • @brunomonteiro7340
    @brunomonteiro7340 Рік тому +2

    Very useful tutorial, thanks!
    I would like to know if you could help me with a project. Do you offer paid consulting?
    The concept of the project is to create a system for selecting and separating stones by shade of green using a Raspberry Pi with a camera. The system captures real-time images through the camera and processes these images to detect the green tones in the stones. Based on the shades of green detected, the stones are classified into different groups (1, 2, 3, 4) according to the defined shade scale.
    The image generated by the camera is displayed on a monitor, and each stone is marked with a square that indicates which group it belongs to.

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  Рік тому +1

      Hey, I may create a paid consultation product soon. Do you need assistance with this project?

  • @finnthehuman9889
    @finnthehuman9889 Рік тому +1

    Hi , is that possible to add multiple boundary /square frame thingy to detect multiple object ?

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  Рік тому

      Hey, yes it is possible, you could try by getting the bounding boxes of all connected components, the same way I did in the parking spot detector and counter video. 💪🙌

  • @Mr3Run4Fun
    @Mr3Run4Fun Рік тому

    How can I use my elgato capture card as the capture, I've tried looking everywhere?

  • @sanikashelke621
    @sanikashelke621 10 місяців тому

    instead of that i want the code to analyse the colour of my face, can you please guide??

  • @_Garm_
    @_Garm_ Рік тому

    like it, really cool video.. the kicker for me was the "BRG" .. it really confused me for a while.. was experimenting with the values there.. was trying to read the color of a led which i thought was green but was more white:ish with a green halo haha, is it possible to detect more colors at the same time ?

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  Рік тому +1

      Yeah, I hear you, something is tricky to specify the exact hue of a given color. About detecting more than one color at the same time: yes, absolutely! The code can be adapted to detect as many colors as you wish! 😃💪

  • @drushtiladhani8370
    @drushtiladhani8370 Рік тому

    How can i take pixels of other colors

  • @alinawabkhan7076
    @alinawabkhan7076 7 місяців тому

    How have you chosen a upper and lower limit? You have used some formula and I couldn't understand it?

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  7 місяців тому

      The 'color' is given by the hue channel, so from the h value for yellow, I set the interval as +- 10.

  • @F4_TheBear
    @F4_TheBear Рік тому

    did someone know the RGB value for grey things (type road, circuit, ...)

  • @nikunjchauhan1332
    @nikunjchauhan1332 10 місяців тому

    What is util here, it isn't available for me?

  • @karimmerchaoui9736
    @karimmerchaoui9736 Рік тому

    when I tried red instead of yellow it didn't detect it even if I try different forms of red. I would really appreciate it if you help me

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  Рік тому +1

      Hey, I took a look and there was a bug which affected the performance in the case of red hues, thank you for noticing it. It is fixed now, take a look at the repo. 💪🙌

    • @karimmerchaoui9736
      @karimmerchaoui9736 Рік тому

      @@ComputerVisionEngineer It worked! thank you so much

  • @idamfarhankhalik5299
    @idamfarhankhalik5299 Рік тому

    hello can you help me, i have some problem in here. i got message ModuleNotFoundError: No module named 'PIL'. how i can fix it?

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  Рік тому

      You may need to install Pillow. 'pip install Pillow' should do the work 💪💪

  • @user-vl2rf7om1n
    @user-vl2rf7om1n Рік тому

    Hi how can i connect the system to the alarm system specifically a buzzer while using a laptop camera for the video capturing, hope you will assist me

  • @dzelctronics-dz8087
    @dzelctronics-dz8087 Рік тому

    thankss

  • @dzelctronics-dz8087
    @dzelctronics-dz8087 Рік тому

    i have a a problem sir when i try to detect a red color for example [0,0,255] it does not work ? i hope u reply and thanks

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  Рік тому

      Hey, maybe you need to try with different forms of red, as specified here www.rapidtables.com/web/color/red-color.html. Have you tried other colors?

  • @shamirkhan6406
    @shamirkhan6406 Рік тому

    Plz make a video on how to fix the media pipe installation error: "No matching distribution found for media pipe"

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  Рік тому

      Hey Shamir, please give me more details about your error. What Python version are you using? What is your OS?

  • @cormiersierra9810
    @cormiersierra9810 4 місяці тому

    太牛了...附送源代码....老哥你好...能做一个指定区域里的颜色识别监测不

  • @ibrahim.basaran
    @ibrahim.basaran 6 місяців тому

    i want to set up color for red. how ca i do it. i need little help

    • @wexxc9372
      @wexxc9372 6 місяців тому

      Just set the color to red lol
      Just look up on the internet what's the BGR Colorspace of red

  • @freddieanniss3533
    @freddieanniss3533 Рік тому

    Great video but I have a slight issue it says TypeError: VideoCapture() takes no arguments. I'm assuming this means its having trouble finding my webcam footage but I'm not sure how to fix it

    • @freddieanniss3533
      @freddieanniss3533 Рік тому

      also the 2 in VideoCapture(2) shows up as an unexpected argument

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  Рік тому

      what opencv version are you using? what is your Python version and your OS? are you using an IDE?

    • @freddieanniss3533
      @freddieanniss3533 Рік тому

      @@ComputerVisionEngineer im using Pycharm vers 3.11 on a windows. not sure what version of opencv it is i think its 22.3.1 if that sounds right.

    • @freddieanniss3533
      @freddieanniss3533 Рік тому

      sorry no 4.6.0

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  Рік тому

      Please try to execute it without pycharm, also try with other Python version and other version of opencv.

  • @baohanquoc7644
    @baohanquoc7644 3 місяці тому

    how to download util , sir

  • @BaronBattles
    @BaronBattles 9 місяців тому

    DO I NEED TO INSTALL VSCODE

  • @pasindukawshan5260
    @pasindukawshan5260 Рік тому +1

    Can I know what is this software using coding ?

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  Рік тому

      Hello Pasindu, I am not sure if I understand your question, what do you mean? In this video I show you how to detect colors using Python and OpenCV using the HSV colorspace.

    • @hxrted
      @hxrted Рік тому

      pycharm

  • @johanneskling2734
    @johanneskling2734 Рік тому

    Great Video! Could you tell me how the code performs

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  Рік тому

      Hey Johannes, I would say the color detection is performing very well! 😃💪

    • @johanneskling2734
      @johanneskling2734 Рік тому

      @@ComputerVisionEngineer do you think I could run it on a raspberry pi zero 😂

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  Рік тому

      As long as you can run Python, install OpenCV and get images from a webcam it 'should' work. If you try it on a raspberry pi let me know how it works! 💪

    • @johanneskling2734
      @johanneskling2734 Рік тому +1

      @@ComputerVisionEngineer yes it would be possible to run it but I would need at least 30fps which I don’t think is realistic on a weaker pi.

  • @arif-emre-yaman
    @arif-emre-yaman Рік тому

    Do you know which array value I should enter for red?

    • @bhavyan24
      @bhavyan24 3 місяці тому

      did you find an answer?

  • @jeromewastijn5645
    @jeromewastijn5645 Рік тому

    how should i make it recognise the color red instead of yellow

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  Рік тому +1

      Hey Jerome, try defining a new variable called red = [0, 0, 255], and use that one instead of 'yellow'. If it doesn't detect the exact hue of red you are looking for you would have to see what are the bgr coordinates of the exact color you want to detect 💪🙌

    • @weaamajoor7420
      @weaamajoor7420 Рік тому

      @@ComputerVisionEngineer Hey, I have tried using new variable to detect the red color but there is a problem. Did you managed to solve it?

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  Рік тому

      @@weaamajoor7420 what problem do you have when trying to detect the red color?

    • @weaamajoor7420
      @weaamajoor7420 Рік тому

      @@ComputerVisionEngineer it stop tracking anything.

  • @rohitgalani8228
    @rohitgalani8228 Місяць тому

    Cezar?????

  • @microcontroller_garage5387
    @microcontroller_garage5387 Рік тому

    very useful. How can i use this code to detect red color object

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  Рік тому

      Hey, define a new variable called red = [0, 0, 255] and use it instead of the 'yellow' variable. You may need to adjust the definition of red in case is not the exact hue of red you are looking for! 😃🙌

    • @microcontroller_garage5387
      @microcontroller_garage5387 Рік тому

      @@ComputerVisionEngineer i tried with a new variable. But hue value is the problem I think. Thanks for the reply

    • @weaamajoor7420
      @weaamajoor7420 Рік тому

      @@microcontroller_garage5387 Hey, I have tried using new variable to detect the red color but there is a problem. Did you managed to solve it?

  • @zhongxina5808
    @zhongxina5808 Рік тому

    hey i tried to follow along with your tutorial but for some reason when i try to run it it says IndexError: index 10 is out of bounds for axis 0 with size 1 how can i fix this ?

  • @studywithnadia121
    @studywithnadia121 Рік тому

    Hi.
    Free where i can get utul packages??

  • @sergeysaik7975
    @sergeysaik7975 Рік тому

    Hey, is it possible to make it so the code runs the tracking on screen? Im trying to make an extension that runs on my pc on top of all my apps to track certain colors for premiere keyframes. Im not that skilled in coding so was hopping for a little help.

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  Рік тому

      Hey Sergey, you want to track colors in your screen? Sure, it is possible, I guess the code in this project is a good baseline for that. Take a look at PyAutoGUI library, you can use it to take screenshots, for example. 💪💪

  • @stu.5903
    @stu.5903 Рік тому

    How do you put a circle dot in the middle of the lemon/color? I'm trying to create a posture and gait analysis thesis with colored markers and get measurements (angles/distance), I want to be able to detect it and put a point in the middle of each markers and connect each point with lines. Hoping for your response, thanks in advance!

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  Рік тому

      Hey, about the circle take a look at cv2.circle function, you can compute the coordinates of the center of the color by inspecting the bounding box coordinates. 🙌

    • @sir.blobfish1528
      @sir.blobfish1528 8 місяців тому

      Hey! Not sure if you still need the code but here it is anyway:
      if bbox is not None:
      x1, y1, x2, y2 = bbox
      cv2.rectangle(frame, (x1, y1), (x2, y2), [0, 255, 0], 5)
      center_x = (x1 + x2) // 2
      center_y = (y1 + y2) // 2
      frame = cv2.circle(frame, (center_x, center_y), 0, (0, 0, 255), 5) # change the 5 to adjust thickness
      just replace the if statement where you draw the rectangle and there should now me a circle in the middle of the object

  • @azzamalomari9025
    @azzamalomari9025 11 місяців тому

    Hi, i need to make a robot that can avoid green and red obstacles. when the robot detect the green obstacle it should go left and when it sees red obstacle it should go right. and I am kinda lost how to make the camera program, can you help me?🥲

    • @ComputerVisionEngineer
      @ComputerVisionEngineer  11 місяців тому

      Hey, are you working with Arduino? If you are, search for videos on 'arduino color sensor project', there are plenty of videos on youtube which cover the foundations of how to do it. 🙌