Image Processing with OpenCV and Python

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 ...
* KZread: youtube.com/@robmulla?sub_con...
* Discord: / discord
* Twitch: / medallionstallion_
* Twitter: / rob_mulla
* Kaggle: www.kaggle.com/robikscube
#python #matplotlib #opencv #computervision #datascience

Пікірлер: 72

  • @carloscaretti6223
    @carloscaretti62235 ай бұрын

    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
    @FilippoGronchi2 жыл бұрын

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

  • @robmulla

    @robmulla

    2 жыл бұрын

    Thanks Filippo!

  • @MrChaluliss
    @MrChaluliss Жыл бұрын

    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
    @princekha45402 жыл бұрын

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

  • @robmulla

    @robmulla

    2 жыл бұрын

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

  • @got2bharmony
    @got2bharmony Жыл бұрын

    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
    @awnikantdubey31338 ай бұрын

    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

  • @johnbalatan8030
    @johnbalatan8030Ай бұрын

    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.

  • @arthurleaoteles9190
    @arthurleaoteles91907 ай бұрын

    Awesome video, thanks man

  • @gangxaaku
    @gangxaaku2 жыл бұрын

    Great video as always!!

  • @robmulla

    @robmulla

    2 жыл бұрын

    I apprecaite that a lot Akshat!

  • @devoock
    @devoock2 жыл бұрын

    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

    2 жыл бұрын

    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?

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

  • @dbo8703
    @dbo8703Ай бұрын

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

  • @gouthamm
    @gouthamm10 ай бұрын

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

  • @maryamkhorramdel8149
    @maryamkhorramdel8149 Жыл бұрын

    Thanks for your video 😊

  • @robmulla

    @robmulla

    Жыл бұрын

    Thanks for watching!

  • @kmonyt
    @kmonyt Жыл бұрын

    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?

  • @mercedessanchez2025
    @mercedessanchez20252 ай бұрын

    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
    @moose3042 жыл бұрын

    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 жыл бұрын

    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!

  • @AkaExcel
    @AkaExcel2 жыл бұрын

    # 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 жыл бұрын

    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.

  • @Glanmire3
    @Glanmire3 Жыл бұрын

    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

    Жыл бұрын

    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.

  • @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 Жыл бұрын

    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

    Жыл бұрын

    Oh, great point! Thanks for pointing that out.

  • @IAKhan-km4ph
    @IAKhan-km4ph4 ай бұрын

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

  • @fuadalhasan1784
    @fuadalhasan17849 ай бұрын

    Is it work for svg format

  • @ibrahimenahoro4393
    @ibrahimenahoro4393Ай бұрын

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

  • @mahaadnan85
    @mahaadnan8511 ай бұрын

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

  • @aoVanPhu
    @aoVanPhu10 ай бұрын

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

  • @LuffyMonkey0327
    @LuffyMonkey032710 ай бұрын

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

  • @jethjesuschild
    @jethjesuschild11 ай бұрын

    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

  • @diegofernandogiraldoportil6572
    @diegofernandogiraldoportil6572 Жыл бұрын

    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

    Жыл бұрын

    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

    Жыл бұрын

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

  • @Garuda_Vigyan
    @Garuda_Vigyan2 ай бұрын

    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

  • @kerem54545454
    @kerem545454545 ай бұрын

    Do one with detecting different colors within a pic

  • @ZubairKhan-bn8ow
    @ZubairKhan-bn8ow Жыл бұрын

    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.

  • @mehdismaeili3743
    @mehdismaeili37432 жыл бұрын

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

  • @robmulla

    @robmulla

    2 жыл бұрын

    Thank you too. Hope you liked it!

  • @GOKZAID
    @GOKZAIDАй бұрын

    I'm from Pakistan your best video for welcome

  • @user-qc4go5jp2y
    @user-qc4go5jp2y3 ай бұрын

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

  • @pankajchand6761
    @pankajchand676110 ай бұрын

    Why use OpenCV instead of Scikit-Image?

  • @rogertang9446
    @rogertang9446 Жыл бұрын

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

  • @timeWaster76
    @timeWaster764 ай бұрын

    13:22 Gray scale but also negative

  • @hanzozohan6009
    @hanzozohan6009 Жыл бұрын

    what is that platform u using?

  • @robmulla

    @robmulla

    11 ай бұрын

    Linux.

  • @octavstanculescu1100
    @octavstanculescu1100 Жыл бұрын

    I think the chanel images are inversed like a negative

  • @robmulla

    @robmulla

    Жыл бұрын

    Oh yea? Do you mean with RGB?

  • @octavstanculescu1100

    @octavstanculescu1100

    Жыл бұрын

    I mean like the negative on a film photography

  • @andrejtursky1551
    @andrejtursky1551 Жыл бұрын

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

  • @ChezChicago
    @ChezChicago Жыл бұрын

    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 Жыл бұрын

    How do masks work?

  • @robmulla

    @robmulla

    Жыл бұрын

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

  • @jessidleonvelezgutierrez3645
    @jessidleonvelezgutierrez3645 Жыл бұрын

    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