Image Processing with OpenCV and Python

Поделиться
HTML-код
  • Опубликовано: 27 апр 2024
  • In this Introduction to Image Processing with Python, kaggle grandmaster Rob Mulla shows how to work with image data in python! Python image processing is very important for anyone interested in computer vision and data science. Using the popular python packages matplotlib and opencv you will learn how to open image data, how the data is formatted, some ways to manipulate the data and save it off in a different format. If you enjoy you can also check out my live twitch streams (below). Image data is extremely powerful especially with machine learning and computer vision techniuqes becoming more common. Learn about this important part of your data science toolbelt!
    Timeline
    00:00 Intro
    00:57 Imports
    02:06 Reading in Images
    04:20 Image Array
    06:22 Displaying Images
    07:14 RGB Representation
    09:40 OpenCV vs Matplotlib imread
    11:50 Image Manipulation
    13:26 Resizing and Scaling
    16:25 Sharpening and Blurring
    19:03 Saving the Image
    20:17 Outro
    The notebook used in this video: www.kaggle.com/robikscube/wor....
    Follow me on twitch for live coding streams: / medallionstallion_
    Intro to Pandas video: • A Gentle Introduction ...
    Exploritory Data Analysis Video: • Exploratory Data Analy...
    Working with Audio data in Python: • Audio Data Processing ...
    * RUclips: youtube.com/@robmulla?sub_con...
    * Discord: / discord
    * Twitch: / medallionstallion_
    * Twitter: / rob_mulla
    * Kaggle: www.kaggle.com/robikscube
    #python #matplotlib #opencv #computervision #datascience

Комментарии • 72

  • @carloscaretti6223
    @carloscaretti6223 5 месяцев назад

    Hi Rob, I want to thank you for sharing your videos. I' ve found them very useful to start my way on data science. Cheers from Argentina!.

  • @FilippoGronchi
    @FilippoGronchi 2 года назад +5

    Thanks again Rob... Always very high quality content and lessons!

  • @MrChaluliss
    @MrChaluliss Год назад +5

    Using this to help with a final project for an intro to ML class in university. Really helpful to have such a well organized set of explanations. Even with small errors mentioned in the comments this is a really helpful resource. Thanks for your work Rob!

    • @robmulla
      @robmulla  Год назад

      Love that you found the video helpful. You should share it with the rest of your class! And have them share…. 😁

  • @princekha4540
    @princekha4540 2 года назад +4

    Great video! Looking forward to watching more videos like this one. Wish you all the best ❤️

    • @robmulla
      @robmulla  2 года назад +1

      Thanks so much Kha! I'm glad you found the video helpful.

  • @johnbalatan8030
    @johnbalatan8030 26 дней назад

    compiler company should sponsor people like this, it will legit be the easiest way to get their compiler attention. Also thank you for making these videos and sharing your knowledge like this. Used it to unstuck myself for a uni project.

  • @got2bharmony
    @got2bharmony Год назад +1

    Excellent introductory video, well done. I'm highly motivated to go off and explore now.

    • @robmulla
      @robmulla  Год назад

      “Curiosity driven data science” is the mission statement of my channel. This comment makes me so happy because this video inspired you to be curious!

  • @awnikantdubey3133
    @awnikantdubey3133 7 месяцев назад

    The representation of topic was very clear, precise and nice. I wish to see such tutorial on color image processing with wavelet transform and quaternions color image processing. Please make such video if possible. Thank you for such nice video

  • @arthurleaoteles9190
    @arthurleaoteles9190 7 месяцев назад

    Awesome video, thanks man

  • @gangxaaku
    @gangxaaku 2 года назад +2

    Great video as always!!

    • @robmulla
      @robmulla  2 года назад

      I apprecaite that a lot Akshat!

  • @dbo8703
    @dbo8703 22 дня назад

    Mr Mulla, you are not a genius, you are a god ! Thanks for the inspiration !

  • @devoock
    @devoock Год назад +15

    Hi, just a correction, in the blurring section, to generate a more blurred image you need to change the size of the kernel too, not just divide for a large number, that's why you get a darker image instead of a blurred one.
    Thanks for the video.

    • @robmulla
      @robmulla  Год назад +4

      Excellent point. Thanks for pointing that out.

    • @bofa722
      @bofa722 4 месяца назад

      Change the size to what? How does it have to match the number you divide by?

  • @gouthamm
    @gouthamm 10 месяцев назад

    @02:44: one second of OCD. Thank you!!!

  • @meitoli
    @meitoli Год назад

    thank you for your tutorial. What if I want to create for example animations based on the numpy array of an image. What next steps you suggest? Thanks!

  • @kmonyt
    @kmonyt Год назад +1

    Nice intro video. If you wanted future video suggestions, can you dive a bit deeper into how to manipulate those numpy arrays that contain image data? So things like np.transpose, np.where, using zip to extract pairs of coordinates, and so on. I know some of this isn't opencv perse, but that knowledge seems key to doing more complicated image processing, object detection, etc.

    • @robmulla
      @robmulla  Год назад

      Thanks for the suggestions. Diving deeper into numpy expressions would be important when working with images in numpy format. Maybe in the future I could cover it.

    • @meitoli
      @meitoli Год назад

      i was thinking in using the image numpy array to create animations programmatically manipulating the values. Sounds coherent?

  • @maryamkhorramdel8149
    @maryamkhorramdel8149 Год назад +1

    Thanks for your video 😊

    • @robmulla
      @robmulla  Год назад

      Thanks for watching!

  • @mercedessanchez2025
    @mercedessanchez2025 Месяц назад

    Hi Rob thanks for the tutorial! Can you make one on analyzing trends with a large volume of images, common colors, materials, objects etc ?

  • @moose304
    @moose304 2 года назад +5

    Really good presentation and content flow. I think THIS video would have been better without the kernel bits since it wasn't clear what the numerical values (of the kernels) were doing. A video focusing on kernels would actually be excellent all on it's own (with a deeper dive into them and what they're doing). Overall, still an excellent video though! Thanks!

    • @robmulla
      @robmulla  2 года назад +2

      Thanks Dan, that's great feedback. I'm glad you liked the overall flow of the video. Now that you mention it the kernel stuff at the end was a bit forced. I keep trying to remind myself that short and sweet videos are better than overloading with too much information. Thanks for the feedback and I'll keep that in mind for the next video!

  • @Glanmire3
    @Glanmire3 Год назад +3

    Hi Rob, just a quick novice's question. What are the advantages/disadvantages using Matplotlib vs OpenCV? Or in other words, what situation which library is better?
    I'm happy to find your tutorial, you aren't speaking like you have to win a "fastest talking competition" and you really share the principal informations leaving us to look into further details if necessary. (I'm not an Egnlish native)

    • @robmulla
      @robmulla  Год назад +1

      Thanks for the feedback. The two libraries are very different and only really overlap in their ability to read and display images. OpenCV is a powerhouse for all things computer vision. Matplotlib can do plotting of data and some image processing.

  • @AkaExcel
    @AkaExcel 2 года назад +1

    # Dear Rob, thank you for sharing, you knowledge, it would be very helpful if we could apply given tutorials, on some kaggle competitions

    • @robmulla
      @robmulla  2 года назад +1

      Thanks Aka. I'm still working up towards more advanced machine learning videos but hope to get to them in the future. Hopefully this video is still helpful for anyone brand new to image data working on an image kaggle competition.

  • @pythonicd1239
    @pythonicd1239 Год назад

    Thanks for your videos!
    I recently started watching your videos, and kaggle keeps failing to save my draft and I lose my notes, what can I do about this?

  • @ronbzalen
    @ronbzalen Год назад +1

    thanks, great video ! just a correction though - when you make the image smaller by x in each axis you actually make the whole image x^2 times smaller

    • @robmulla
      @robmulla  Год назад +1

      Oh, great point! Thanks for pointing that out.

  • @aoVanPhu
    @aoVanPhu 10 месяцев назад

    Hello teacher. I have a question.
    Why the numpy array of PNG image have range 0~1, JPG have range from 0~255?

  • @ibrahimenahoro4393
    @ibrahimenahoro4393 29 дней назад

    Kindly make a video on a cardiomyocyte Data Analysis using Python.

  • @IAKhan-km4ph
    @IAKhan-km4ph 4 месяца назад

    Plz use geotiff images for GIS use as well in next lecture.

  • @fuadalhasan1784
    @fuadalhasan1784 8 месяцев назад

    Is it work for svg format

  • @mahaadnan85
    @mahaadnan85 11 месяцев назад

    hi please i need help with a topic speaker identification in python. how convert dataset to array two dimension

  • @GOKZAID
    @GOKZAID Месяц назад

    I'm from Pakistan your best video for welcome

  • @LuffyMonkey0327
    @LuffyMonkey0327 10 месяцев назад

    please do tutorial of this with tar file. am trying to open a custom dataset with tar file. having trouble opening

  • @jethjesuschild
    @jethjesuschild 11 месяцев назад +1

    hello sir, can you make a video for image processing with opencv using python

  • @akindukalhan8755
    @akindukalhan8755 Год назад

    Would be great if you could have explained how to flip an image with the usage of pixels

    • @robmulla
      @robmulla  Год назад

      Thanks for watching. It should be really easy to do manually using numpy.flip or you could flip using the built in cv2. Here is the numpy documentation you would just need to select the correct axis: numpy.org/doc/stable/reference/generated/numpy.flip.html

  • @mehdismaeili3743
    @mehdismaeili3743 2 года назад +1

    hi thanks for this video,this video has 5 likes.😃

    • @robmulla
      @robmulla  2 года назад

      Thank you too. Hope you liked it!

  • @Garuda_Vigyan
    @Garuda_Vigyan Месяц назад

    Dear data 👨‍🔬
    Let me know about initial image data for face and accidental face data to find the difference in uaing open cv and matplotlib🎉please sir

  • @diegofernandogiraldoportil6572
    @diegofernandogiraldoportil6572 Год назад +1

    For a university project, I must read a car registration with Python, get its characters. I don't know if you are interested in doing something with this. A camera that reads the car registration, collects the characters and can use those characters to compare it in a database.

    • @robmulla
      @robmulla  Год назад +2

      Sounds like a cool project. I’ve been asked this type of question a lot so maybe I’ll try to make a video about it. Good luck!

    • @diegofernandogiraldoportil6572
      @diegofernandogiraldoportil6572 Год назад +1

      @@robmulla thanks for answering. You are very good teaching I am from Colombia and the automatic translator works very well. I can read everything you say in the videos and really teach too well. Congratulations.

  • @kerem54545454
    @kerem54545454 5 месяцев назад

    Do one with detecting different colors within a pic

  • @ZubairKhan-bn8ow
    @ZubairKhan-bn8ow Год назад +1

    Which interface are you using? Is it google colab pro

    • @robmulla
      @robmulla  Год назад

      This is a kaggle notebook. Check out my tutorial on jupyter notebooks and I explain my setup.

  • @pankajchand6761
    @pankajchand6761 9 месяцев назад

    Why use OpenCV instead of Scikit-Image?

  • @user-qc4go5jp2y
    @user-qc4go5jp2y 3 месяца назад

    How can I link this model with interface
    I need your help please reply to me In the fastest time

  • @rogertang9446
    @rogertang9446 Год назад +1

    Wonderful tutorial! But upscaling width and height 10 times simultaneously doesn't make the image 10 times bigger, but 100 times bigger

  • @timeWaster76
    @timeWaster76 3 месяца назад

    13:22 Gray scale but also negative

  • @hanzozohan6009
    @hanzozohan6009 11 месяцев назад +1

    what is that platform u using?

  • @andrejtursky1551
    @andrejtursky1551 Год назад +1

    sneaky suplots to subplots @6:49

    • @robmulla
      @robmulla  Год назад

      Nice catch! Must have fixed it and edited that part out 😅

    • @andrejtursky1551
      @andrejtursky1551 Год назад

      @@robmullayeah xd, but anyway thank you for your videos and Happy new year from the future! pd.Timestamp.now(tz='Etc/UTC+1')

  • @octavstanculescu1100
    @octavstanculescu1100 Год назад +2

    I think the chanel images are inversed like a negative

  • @ChezChicago
    @ChezChicago Год назад +1

    It looks like you are working in Linux. I have job interview. The source data come from TV. Can you teach me?

    • @robmulla
      @robmulla  Год назад

      Yes I use Linux. My Chanel is my teaching. Hope you find it helpful.

  • @Cal97g
    @Cal97g Год назад +1

    How do masks work?

    • @robmulla
      @robmulla  Год назад

      Depends what type of mask we are talking about...

  • @jessidleonvelezgutierrez3645
    @jessidleonvelezgutierrez3645 Год назад +3

    python is for fast prototyping, not for long lasting code.... new releases of whatever in python kills previous code.... what a shame!!!!

    • @hanss1754
      @hanss1754 3 месяца назад

      Gotta love heavy abstractions