Image Processing with OpenCV and Python

Поділитися
Вставка
  • Опубліковано 2 лют 2025

КОМЕНТАРІ • 92

  • @MrChaluliss
    @MrChaluliss Рік тому +19

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

  • @got2bharmony
    @got2bharmony Рік тому +4

    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!

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

    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.

  • @FilippoGronchi
    @FilippoGronchi 2 роки тому +9

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

  • @princekha4540
    @princekha4540 2 роки тому +6

    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.

  • @devoock
    @devoock 2 роки тому +25

    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 роки тому +7

      Excellent point. Thanks for pointing that out.

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

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

    • @user-ef1ke3nn1y
      @user-ef1ke3nn1y 2 місяці тому

      @@bofa722just change the kernel size it will averages more pixels thus more blurring

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

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

  • @mauricedemel6142
    @mauricedemel6142 2 місяці тому +1

    this video is very important to me thank you mr.rob mulla from sri lanka

  • @gangxaaku
    @gangxaaku 2 роки тому +3

    Great video as always!!

    • @robmulla
      @robmulla  2 роки тому

      I apprecaite that a lot Akshat!

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

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

  • @moose304
    @moose304 2 роки тому +7

    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!

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

    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

  • @xMrMusicfanx
    @xMrMusicfanx 3 місяці тому +1

    on 19:05 in my opinion you do not change the blur, only the pixel intensity by changing the kernel divider. if you want other blurs, you would have to adapt the kernel values themselves so that they are not equal anymore. right?

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

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

  • @ayushjalan5964
    @ayushjalan5964 2 місяці тому

    19:05 For changing the blur amount, re-adjust the kernel size. Higher the kernel size, blurrier the image gets

  • @Glanmire3
    @Glanmire3 Рік тому +4

    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  Рік тому +3

      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.

  • @kmonyt
    @kmonyt 2 роки тому +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  2 роки тому +1

      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?

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

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

    Awesome video, thanks man

  • @KuldipSolanki-o5b
    @KuldipSolanki-o5b 2 місяці тому

    ditect place and shape and size of upload second image in main image and after ditectin all thing second image upload in main image acording to ditection and save image
    i dont get solution please help me sir
    give me solution

  • @oldcreekhomes
    @oldcreekhomes 28 днів тому

    Rob - I own a home building company and we count, manually, a lot! Do you think you could write a program so we can upload a PDF -> then count from a library of images (windows, doors, siding, stone, etc) and multiple that by a value = project budget? If you're interested or not, can you let me know? Thanks for the video!

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

    When we flatten out the matrix and plot it with pd.Series(img_mpl.flatten()).plot(kind='hist', bins=50, title='Distribution of Pixel Values'), because of each pixel is represented by 3 subpixels (RGB) in the matrix it kind of not made sense to me.
    Maybe labeling it as "Distribution of RGB Values in Pixels" might be a better approach if I am not missing something?

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

    digital art should be made like this

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

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

  • @じゅげむ-s6b
    @じゅげむ-s6b 2 місяці тому

    13:14 it's not just grey scaled, it's also inverted

  • @maryamkhorramdel8149
    @maryamkhorramdel8149 2 роки тому +1

    Thanks for your video 😊

    • @robmulla
      @robmulla  2 роки тому

      Thanks for watching!

  • @b-lifestyle7263
    @b-lifestyle7263 8 місяців тому

    Thanks for your tutorial. But I have a question. This is my code example: import numpy as np
    import cv2
    import matplotlib.pyplot as plt
    img = cv2.imread('D:/CCU-2024/grasppose/p1.jpg',0)
    plt.figure()
    plt.subplot(1,2,1)
    plt.imshow(img)
    plt.show(). So, when I move the mouse on the image of plt.imshow(). I obtain the (x,y) and [a]. So what is (x,y) ? it's (u,v) right? and [a] is pixel value, right?

  • @diegofernandogiraldoportil6572
    @diegofernandogiraldoportil6572 2 роки тому +2

    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 роки тому +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 2 роки тому +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.

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

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

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

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

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

  • @IAKhan-km4ph
    @IAKhan-km4ph Рік тому

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

  • @jibonjibon8231
    @jibonjibon8231 28 днів тому

    I swear! A great video and very well explained with practical code. But I'm kinda disappointed on your channel after searching a complete playlist on Computer Vision and didn't find any. There are only this image processing, Video processing and a object detection video.

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

    while working the same in Jupyter notebook , it gives list out of index error while reading the images of my folder. why is that so?

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

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

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

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

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

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

    iyi günler, aklımda subway surfers demo oyunu yapmak fikri var ancak bu oyunu obez insanlar, evde hareket etmek isteyen insanlar ve çocuklara yönelik yapmak istiyorum. Burada amacım telefonun ön kamerasını kullanarak image processing kuralları çerçevesinde hareketleri algılayıp oyun karakterini engellerden kaçındırmak. Şöyleki sürekli koşar vaziyette olacağım karakter eğilmesi gerekiyorsa eğileceğim zıplaması gerekiyorsa zıplayacağım sağa kaçması gerekiyorsa sağa kaçacağım vb. 1 yıllık mobil deneyimim var ancak image processing hakknda lafta bilgim var. Nasıl bir yol izlemeliyim hangi konularda uzmanlaşmalıyım ve 3-4 ay içinde yapabilir miyim? Kendimi adamaya hazırım

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

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

  • @ZubairKhan-bn8ow
    @ZubairKhan-bn8ow 2 роки тому +1

    Which interface are you using? Is it google colab pro

    • @robmulla
      @robmulla  2 роки тому

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

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

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

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

    I think the chanel images are inversed like a negative

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

    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

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

    hii can i do the same in jupyter notebook?
    as i work on that

  • @AAa-x8h8u
    @AAa-x8h8u Рік тому

    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

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

    what is that platform u using?

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

    Why use OpenCV instead of Scikit-Image?

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

    Do one with detecting different colors within a pic

  • @mehdismaeili3743
    @mehdismaeili3743 2 роки тому +1

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

    • @robmulla
      @robmulla  2 роки тому

      Thank you too. Hope you liked it!

  • @akindukalhan8755
    @akindukalhan8755 2 роки тому

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

    • @robmulla
      @robmulla  2 роки тому

      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

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

    I'm from Pakistan your best video for welcome

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

    Is it work for svg format

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

    4:23 was that pun intended?😆

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

    13:22 Gray scale but also 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.

  • @tilkesh
    @tilkesh 2 місяці тому

    Thx

  • @andrejtursky1551
    @andrejtursky1551 2 роки тому +1

    sneaky suplots to subplots @6:49

    • @robmulla
      @robmulla  2 роки тому

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

    • @andrejtursky1551
      @andrejtursky1551 2 роки тому

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

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

    How do masks work?

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

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

  • @jessidleonvelezgutierrez3645
    @jessidleonvelezgutierrez3645 Рік тому +13

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

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

      Gotta love heavy abstractions

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

    BORRRRRRRRRINF WHHYYYYY