Image Processing with OpenCV and Python

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 ก.พ. 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…. 😁

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

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

    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!

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

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

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

      Thanks Filippo!

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

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

  • @mauricedemel6142
    @mauricedemel6142 2 หลายเดือนก่อน +1

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

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

  • @dbo8703
    @dbo8703 10 หลายเดือนก่อน

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

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

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

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

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

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

  • @ayushjalan5964
    @ayushjalan5964 2 หลายเดือนก่อน

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

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

    Great video as always!!

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

      I apprecaite that a lot Akshat!

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

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

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

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

  • @じゅげむ-s6b
    @じゅげむ-s6b 2 หลายเดือนก่อน

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

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

  • @genaropierucci9376
    @genaropierucci9376 6 หลายเดือนก่อน

    digital art should be made like this

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

    Thanks for your video 😊

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

      Thanks for watching!

  • @oldcreekhomes
    @oldcreekhomes 29 วันที่ผ่านมา

    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!

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

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

    Awesome video, thanks man

  • @IAKhan-km4ph
    @IAKhan-km4ph ปีที่แล้ว

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

  • @ibrahimenahoro4393
    @ibrahimenahoro4393 10 หลายเดือนก่อน

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

  • @jibonjibon8231
    @jibonjibon8231 29 วันที่ผ่านมา

    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.

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

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

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

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

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

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

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

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

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

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

    13:22 Gray scale but also negative

  • @GOKZAID
    @GOKZAID 10 หลายเดือนก่อน

    I'm from Pakistan your best video for welcome

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

    Do one with detecting different colors within a pic

  • @manishpandit1908
    @manishpandit1908 4 หลายเดือนก่อน

    4:23 was that pun intended?😆

  • @tilkesh
    @tilkesh 2 หลายเดือนก่อน

    Thx

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

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

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

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

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

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

      Thank you too. Hope you liked it!

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

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

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

    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

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

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

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

  • @ibrahimoztas1547
    @ibrahimoztas1547 4 หลายเดือนก่อน

    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

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

    Why use OpenCV instead of Scikit-Image?

  • @AAa-x8h8u
    @AAa-x8h8u ปีที่แล้ว

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

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

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

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

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

    what is that platform u using?

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

    Is it work for svg format

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

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

    • @LOL_CYABOY
      @LOL_CYABOY 6 หลายเดือนก่อน

      .

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

      ​@@LOL_CYABOYwhat is bro yapping about