convolution of images

Sdílet
Vložit
  • čas přidán 7. 02. 2018

Komentáře • 211

  • @e3a87
    @e3a87 Před 4 lety +184

    "I hope this helps man!!" goes directly into my lazy soul hwo never studies until the night of the exam! Thanks dude, it helps a lot

    • @someoneelse707
      @someoneelse707 Před 2 lety

      Same😂

    • @emirhandemir3872
      @emirhandemir3872 Před 3 měsíci +1

      Dude! We gotta do something about it. You probably graduated or dropped school but I at least need to quit this stupid habit of mine!

    • @e3a87
      @e3a87 Před 3 měsíci +2

      @@emirhandemir3872 ​ Bro, no one can destroy iron but its own rust !!
      I don't know what is your goal and what are you going through but you need to realize one thing:
      You are the only one that can make this work and you are the only one that can f*ck it up
      You either control your mind or it controls you, you gotta choose...
      But yeah I graduated thinking that the struggle will end with the degree but guess what... it never ends! This phenomenon of laziness is a perpetual war.
      I hope this helps man!!

    • @wolfabod9715
      @wolfabod9715 Před 2 měsíci

      @@e3a87 my exam is in 8 hours i really hope it does !!

  • @XXxlightmarex
    @XXxlightmarex Před 3 lety +46

    3:51 "one second, let me just do a cheeky line of coke real quick"

  • @riseabovehate9476
    @riseabovehate9476 Před 5 lety +32

    For convolution, you flip the mask horizontally as well as vertically and then computer the SOP. Since the mask, you have taken is symmetric Correlation and Convolution happen to be the same

  • @DumplingWarrior
    @DumplingWarrior Před 4 lety +21

    I like the fact that I'm actually learning something while laughing lol, great video! you're funny

  • @brimamedou
    @brimamedou Před 5 lety +13

    Wow, dude! That was a great explanation. I precisely understood the details of this process. I will apply that to all sorts of areas in my life. You rock, Dãmáiou!

  • @ancient_living
    @ancient_living Před 4 lety +4

    Great work explaining that the size of the convolved image is decreased in dimensions. Keep up the good work.

  • @tallurinani6059
    @tallurinani6059 Před 4 měsíci +2

    Bro, you are a savior. Thank you sooooo much. i didn't understand when i tried it fomr many websites and yt videos, yours just went straightly into the brain.. Thank you

  • @etziowingeler3173
    @etziowingeler3173 Před 3 lety +3

    I like your laid back style Duderino, and it really helps

  • @highelojungler
    @highelojungler Před 3 lety +4

    lmao all these videos all professional and ur calling me dude and man, love you. take this like

  • @kuqiu5003
    @kuqiu5003 Před 4 lety +8

    Very clear interpretation. Thanks a million!

  • @alihan60
    @alihan60 Před 5 lety +1

    Clear explanation! This is what i need! Thanks man you save the day!

  • @hieutran5099
    @hieutran5099 Před 4 lety +5

    Thank you for the very clear and precise answer.

  • @tymothylim6550
    @tymothylim6550 Před 3 lety +2

    Thank you very much for this video, Alexandre! It was a really simple and easy-to-understand video :)

  • @ifargantech
    @ifargantech Před rokem +1

    This video is means alot to me. Thank you! Please make more videos on DIP

  • @adl30
    @adl30 Před rokem +2

    You saved me from reading big book of convolution theory. Respect bro.

  • @navigator171
    @navigator171 Před 4 lety +5

    Finally somebody that did exactly what I need... Thanks man.

    • @navigator171
      @navigator171 Před 4 lety +1

      Você deveria fazer mais videos como esse, salvaria outras vidas.

  • @imagenigraphics
    @imagenigraphics Před 4 lety

    Question: After applying convolution, is the resolution of the image reduced or maintained? If maintained, how when it looks like it was reduced?

  • @AzarZeynalli-mp5zj
    @AzarZeynalli-mp5zj Před 4 měsíci +1

    It helps more than you imagine. Thanks man:)

  • @osamamirza4220
    @osamamirza4220 Před 2 lety +1

    Thanks man!! this helped me a lot

  • @Isa25monalisa
    @Isa25monalisa Před 5 lety +1

    THANK YOU!!! You helped me SO MUCH!!! Such an excellent explanation!

  • @jcgonzalez9122
    @jcgonzalez9122 Před 5 lety +6

    dude this was awesome lol.

  • @wqkkta8787
    @wqkkta8787 Před 4 lety +1

    This helped me so much! Thank you!!!

  • @ghufrongalih8354
    @ghufrongalih8354 Před 2 lety +1

    really help me man, thx
    have a good day always

  • @vagumanasa7044
    @vagumanasa7044 Před 3 lety +1

    Literally this helped me a lott...thnq soo soo muchhh...

  • @minhanhpham2508
    @minhanhpham2508 Před 9 měsíci +1

    You save me in my midterm exam, thanks a lot!

  • @eyadbereh
    @eyadbereh Před rokem +1

    Bro, I'm having this for an exam tomorrow, and you just saved me from an M x N headache

  • @ilegadh
    @ilegadh Před 6 lety

    Thanks, this really helped me understanding!

  • @philipp849
    @philipp849 Před 3 lety +1

    I cannot thank you enough.
    You saved my butt.

  • @avaneeshchavan8821
    @avaneeshchavan8821 Před 2 lety

    Thanks, man i wasn't able to understand this in my school and now I understood it in 5 mins

  • @MrRobi10
    @MrRobi10 Před 3 lety

    Hello, I have an 11×11 image having in its center a 5×5 square, the image it's noiseless and I don't know how to compute the gradient of the image function given by the compass operator for this image. If I remember correctly, I should use a derivative, but I don't know exactly what and how can I use it. Can you please help me?

  • @markpx
    @markpx Před 4 lety

    Since the convolution result produces numbers higher than 255, it no longer can be treated like an image?

  • @gravinpatel7700
    @gravinpatel7700 Před rokem +1

    Thank you for giving such a simple example and explanation

  • @Megan-gl7pi
    @Megan-gl7pi Před 2 lety

    Thanks for explaining this super simply and quickly.

  • @glebignites5278
    @glebignites5278 Před 3 lety +1

    Great explanation! Thank you very much.

  • @user-dg4oo8tn3w
    @user-dg4oo8tn3w Před 3 lety +1

    Good job man!!! It's useful.

  • @zephjaz947
    @zephjaz947 Před 5 lety +2

    Thank you for the precise explanation

  • @chanhungnguyen3089
    @chanhungnguyen3089 Před rokem

    I saw in many documents they say the multiplication between the kernel and each patch of the image matrix is a dot product. Can you explain it?

  • @drchastr208
    @drchastr208 Před rokem +1

    great video man

  • @MattoUchiha
    @MattoUchiha Před 6 lety +2

    Thank you so much this made it seem so simple lol

    • @chvrleshd
      @chvrleshd Před 6 lety

      please how do you convolve and wrap around image cyclically??!

  • @alexmaingi9327
    @alexmaingi9327 Před 8 měsíci +2

    Precise and understandable, Good job!!

  • @chvrleshd
    @chvrleshd Před 6 lety +1

    please how do you convolve and wrap around image cyclically??

    • @alexandredamiao1365
      @alexandredamiao1365  Před 6 lety +1

      Hi Charleone. I've never had to implement a cyclical (circular) convolution. I assume you're trying to perform a 2 dimensional FFT.
      I believe the idea is to do exactly as I explained in the video when the kernel is completely within the image. Once you get to a point where the kernel edges are outside of the image on one side, you take those edge values and multiply by the pixels of the other side of the image (at the same height/row).
      The following links may help you: (go through the answers, they are insightful!)
      dsp.stackexchange.com/questions/6302/circular-and-linear-convolution

  • @metinyorgun1963
    @metinyorgun1963 Před 5 lety +2

    You should scale pixel value because its cannot be greater than 255.

  • @farhamrezqimaarifm8537
    @farhamrezqimaarifm8537 Před 3 lety +1

    thanks dude its help a lot

  • @I34R
    @I34R Před 3 lety

    how do you do it with circular indexing?

  • @arash4232
    @arash4232 Před 10 měsíci

    Hi,
    So what?
    Should we normalise the calculated values? What colour does 514 refers to?

  • @muneebabbas2424
    @muneebabbas2424 Před 2 lety

    I'm working on an example similar to this, when using the kernal on the image matrix I got an output of -2 (some of the values in the kernal were negative), I'm not sure if you can get a negative value for the output but what would that mean for the image matrix if, when convoluted, a pixel becomes a negative value?

    • @fiethsing9988
      @fiethsing9988 Před 9 měsíci

      For those wondering, when you get a negative value, you just put the lowest value the pixel can be. So if you got a greyscale image and it's pixel values range from 0-255, you'd put 0.

  • @tempdrive2342
    @tempdrive2342 Před 3 lety +1

    it was very useful put more videos

  • @SirJonathonDanielGregorySrVthe

    You have no idea how fucking dull my lecturer is for this unit, this has helped a lot in avoiding something that probably would've been a half-hour explanation.

  • @renasouza8261
    @renasouza8261 Před 5 lety +2

    Very good vídeo mano

  • @athenanaki94
    @athenanaki94 Před 5 lety +1

    Before start doing this process, I have to apply zero padding on the image, right?

    • @ArminXtosis
      @ArminXtosis Před 5 lety

      It depends on what you want. If you want the kernel applied to the edge of the image as well then yes you should pad it.

  • @freedom1880
    @freedom1880 Před 3 lety +2

    Thank you.I am deeply thankful.

  • @StrangeParticl
    @StrangeParticl Před 2 lety +1

    Thank you for the simple explanation of the convolution process. You did like it is a simple adding number to each other ...
    That is grat, Sir.
    Thank you so much agine

  • @ashutoshmaurya9726
    @ashutoshmaurya9726 Před 2 lety +1

    Thanks for such a nice explanation .

  • @meirzilkha
    @meirzilkha Před 4 lety +1

    Thanks! This is great.

  • @manjukarthik9598
    @manjukarthik9598 Před 5 lety +5

    I think what you have shown is incorrect, coz using the sliding window concept you would calculate the value of the pixel that corresponds to the middle value ( say in a 3 X 3 kernel the value at 1,1)of your kernel and not the first value as explained. Also you need to divide it by the total (sum) of your kernel values(in your case its 4 that is 649/4 giving you the value 162.25 for the value in the original image at 32).

    • @BrandonLobo
      @BrandonLobo Před 5 lety +1

      Thanks. I'm not looking at images, but still needed convolution and I had a feeling it needed to be dived by some value, else it makes no sense.

    • @ubaidurrehman4377
      @ubaidurrehman4377 Před 5 lety

      great, there was a mistake

    • @vloggetts
      @vloggetts Před 3 lety

      I agree that he should have replaced the middle value but I think dividing by the kernel sum is only for a weighted arithmetic mean filter whereas this is just a genera; convolution

    • @JimmyJohnston3rd
      @JimmyJohnston3rd Před 3 měsíci

      I will confirm that yes you are correct. The resulting value is the middle. For a 3x3 kernel like this we would add a top row, bottom row, initial column and last column of 0's to address the borders of an image or just ignore the borders all together. The end result should be a matrix of the same size for image processing at least.

  • @Sean-ow7qb
    @Sean-ow7qb Před 3 lety +1

    amazing!

  • @EnglishRain
    @EnglishRain Před 2 lety +1

    This is so excellent thank you so so much

  • @fase29
    @fase29 Před 3 lety +1

    thank you very much!

  • @AR-scorp
    @AR-scorp Před 3 lety +1

    Helped a lot. Thank you.

  • @Arnankhan
    @Arnankhan Před rokem +1

    Thank you! Very good tutorial.

  • @zhiyiwang6466
    @zhiyiwang6466 Před 5 lety +1

    still deserves an upvote

  • @alkodjdjd
    @alkodjdjd Před 4 lety +1

    Ajudou muito a pesar de ter ficado zonzo de tanto a camera se mexer :)

  • @syedmhamudulhasanakash1675

    Best explanation ever man!

  • @childhoodgames1712
    @childhoodgames1712 Před 4 lety

    Thank you , but the SUM of the results of the applied filter should be at the center pixel of the filter so, 649 is at the centered pixel

    • @vloggetts
      @vloggetts Před 3 lety

      I was thinking this same thing. It's the 32 that should be replaced by 649 after convolution, right? And to find the values of pixels closer to the edge after convolution, the kernel must be centred on these edge pixels and some kind of boundary strategy must be employed(eg. zero padding, wrap etc.)

  • @raze7x
    @raze7x Před 5 lety

    explanation was good, but use some sort of tripod for the camera next time! thx for the lesson

  • @tawheedalabed6447
    @tawheedalabed6447 Před 5 lety +1

    many thanks realy it is very good

  • @crazyvideos6474
    @crazyvideos6474 Před 6 lety +46

    Great explanation but I think you are wrong. You are doing a correlation not a convolution

    • @alexandredamiao1365
      @alexandredamiao1365  Před 6 lety +7

      Hi, thank you for the polite criticism. However, the operations I gave in the video are indeed used in convolution of images. Take a look at the explanations given in these links: web.pdx.edu/~jduh/courses/Archive/geog481w07/Students/Ludwig_ImageConvolution.pdf,
      machinelearninguru.com/computer_vision/basics/convolution/image_convolution_1.html,
      docs.gimp.org/en/plug-in-convmatrix.html

    • @turbasdd
      @turbasdd Před 5 lety +29

      Well, the thing is that this kernel you used as example is symmetric, because of that when you flip it horizontally and vertically (before the convolution) you get the exactly same kernel... Therefore, the way it is explained it works, but because the kernel is symmetric... and then it seems like a correlation as the other fellow mentioned.
      You can see this in here machinelearninguru.com/computer_vision/basics/convolution/image_convolution_1.html
      And you can also read about on chapter 3 of the book:
      "Digital Image Processing" by Rafael C. Gonzalez and Richard E. Woods (www.amazon.com/Digital-Image-Processing-Rafael-Gonzalez/dp/0133356728)

    • @ashavarghese8458
      @ashavarghese8458 Před 5 lety +1

      Thanks

    • @juaneugeniodebenedettti6187
      @juaneugeniodebenedettti6187 Před 3 lety

      @@turbasdd touche

    • @rionacko748
      @rionacko748 Před 3 lety +1

      @@turbasdd That link no longer working :(

  • @shoruqm9753
    @shoruqm9753 Před 3 lety +1

    You saved my life man

  • @ajinzrathod
    @ajinzrathod Před 4 lety +4

    I was laughing at 3:56. Really appreciate your efforts. Thanks

  • @jyothish99
    @jyothish99 Před 4 lety +1

    Great explanation dude !!

  • @saminbinkarim6962
    @saminbinkarim6962 Před 4 lety +1

    DUDE. This helped me pass. :D

  • @shwetabhsingh5437
    @shwetabhsingh5437 Před 3 lety +1

    for sure bro, thanks

  • @jcgongavoe337
    @jcgongavoe337 Před 6 lety

    according to the video this process will decrease the image size, but I'm not sure since there are convolution kernel in adobe premiere, avsfilter and vapoursynth filter and they aren't likely to output a resized image
    There's multiply and bias options in premiere comes with the con- filter, I'm corious how they works too :l)

    • @sharathramkumar
      @sharathramkumar Před 6 lety +1

      They add padding to the image. For example, if you applied a 3x3 kernel to a 6x6 image with 1 padding bit, the output will be the same size as the input. The padding adds a border of zeros around the image, so the 6x6 image would actually be an 8x8 after the padding is applied. Then the kernel is applied and it becomes a 6x6 again.

  • @maheshbhosale1838
    @maheshbhosale1838 Před 2 lety +1

    this is not what convolution is, you need to flip the kernel first.
    This is a correlation.

  • @RaunakPinakJoshi
    @RaunakPinakJoshi Před rokem +1

    Thanks man! Really helpful.

  • @AhmadImtiaz320
    @AhmadImtiaz320 Před 4 lety

    For larger image, do we have to stick to 3x3 mask ? Or the mask increases with the size of image?

    • @marcelmcjackson4257
      @marcelmcjackson4257 Před 4 lety +1

      You don't have to stick to a 3x3 mask. It can be whatever size

    • @AhmadImtiaz320
      @AhmadImtiaz320 Před 4 lety

      @@marcelmcjackson4257 but the result will be different each time . Right?

    • @marcelmcjackson4257
      @marcelmcjackson4257 Před 4 lety +1

      @@AhmadImtiaz320 It will be different when using other masks. The convoluted matrix will be smaller when using a 5x5 mask. And the result of course depends on the numbers used in the mask^^

    • @AhmadImtiaz320
      @AhmadImtiaz320 Před 4 lety

      @@marcelmcjackson4257 Thank you :)

  • @imranwahid9871
    @imranwahid9871 Před 3 lety +1

    Thanks a lot brother. It helped.

  • @juyeon_kim
    @juyeon_kim Před rokem

    i think its correlation but thank you a lot. you helped me understand

  • @mattkan2876
    @mattkan2876 Před 4 lety

    Sir, your tutorial is nice in contents, but its better for you to buy a fixed frame to hold your mobile phone recorder

  • @abhijithbs997
    @abhijithbs997 Před 3 lety +1

    cool stuff dude.....
    Thanks a lot

  • @stavrosk.3773
    @stavrosk.3773 Před 4 lety +1

    thanks DUDE

  • @narendrakumar5504
    @narendrakumar5504 Před 5 lety +1

    Clear and concise explanation

  • @kwekureginaldwade
    @kwekureginaldwade Před 3 lety +1

    Great explanation !!!

  • @ajanthaalakkshmanan5854
    @ajanthaalakkshmanan5854 Před 3 lety +1

    Awesome explanation

  • @sumeshkumar9940
    @sumeshkumar9940 Před 4 lety +1

    good!!!

  • @vibithas87
    @vibithas87 Před rokem

    What is the purpose of the number we are putting inside the box

  • @JoeDhirk
    @JoeDhirk Před 3 lety +1

    Thank you.

  • @pawanyendigeri3157
    @pawanyendigeri3157 Před 4 lety +1

    Nice video

  • @rionacko748
    @rionacko748 Před 3 lety +1

    I love you man

  • @arturkot4108
    @arturkot4108 Před 3 lety +1

    Thanks, man!

  • @ajanthaalakkshmanan5854

    Plz explain red deer optimization

  • @youtubegiuhotoinhe
    @youtubegiuhotoinhe Před 2 měsíci +1

    2024 and you are saving me sir! Thank you very much

  • @waytoprogramming
    @waytoprogramming Před 4 lety +2

    Well done.

  • @user-ok3qx5kf4o
    @user-ok3qx5kf4o Před 5 lety +1

    Thank you🌸

  • @mohammadalifffirdausmohamm8125

    i love this video very good

  • @danusd1811
    @danusd1811 Před 4 měsíci +1

    Thanks a lot bro

  • @gaoqiangzhou9960
    @gaoqiangzhou9960 Před rokem +1

    life saver!

  • @omsaichand9798
    @omsaichand9798 Před 4 lety

    I think each value has to be divided by d sum of kernel

    • @andreaf8940
      @andreaf8940 Před 4 lety

      no, that's not what you do when doing cross-correlation or convolution.

  • @abdelhafidbenchikh4426
    @abdelhafidbenchikh4426 Před rokem +1

    Very useful, thanks so much

  • @karthikrajaloganathan3067

    Useful . Do some more videos