@@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!!
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
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!
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
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?
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
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?
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.
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.
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
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).
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
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.
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.)
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
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)
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)
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.
@@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^^
"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
Same😂
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!
@@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!!
@@e3a87 my exam is in 8 hours i really hope it does !!
3:51 "one second, let me just do a cheeky line of coke real quick"
Haha!
LMAOOOO
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
I like the fact that I'm actually learning something while laughing lol, great video! you're funny
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!
Great work explaining that the size of the convolved image is decreased in dimensions. Keep up the good work.
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
I like your laid back style Duderino, and it really helps
lmao all these videos all professional and ur calling me dude and man, love you. take this like
Very clear interpretation. Thanks a million!
Clear explanation! This is what i need! Thanks man you save the day!
Thank you for the very clear and precise answer.
Thank you very much for this video, Alexandre! It was a really simple and easy-to-understand video :)
This video is means alot to me. Thank you! Please make more videos on DIP
You saved me from reading big book of convolution theory. Respect bro.
Finally somebody that did exactly what I need... Thanks man.
Você deveria fazer mais videos como esse, salvaria outras vidas.
Question: After applying convolution, is the resolution of the image reduced or maintained? If maintained, how when it looks like it was reduced?
It helps more than you imagine. Thanks man:)
Thanks man!! this helped me a lot
THANK YOU!!! You helped me SO MUCH!!! Such an excellent explanation!
dude this was awesome lol.
This helped me so much! Thank you!!!
really help me man, thx
have a good day always
Literally this helped me a lott...thnq soo soo muchhh...
You save me in my midterm exam, thanks a lot!
Bro, I'm having this for an exam tomorrow, and you just saved me from an M x N headache
Thanks, this really helped me understanding!
I cannot thank you enough.
You saved my butt.
Thanks, man i wasn't able to understand this in my school and now I understood it in 5 mins
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?
Since the convolution result produces numbers higher than 255, it no longer can be treated like an image?
Thank you for giving such a simple example and explanation
Thanks for explaining this super simply and quickly.
Great explanation! Thank you very much.
Good job man!!! It's useful.
Thank you for the precise explanation
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?
great video man
Thank you so much this made it seem so simple lol
please how do you convolve and wrap around image cyclically??!
Precise and understandable, Good job!!
please how do you convolve and wrap around image cyclically??
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
You should scale pixel value because its cannot be greater than 255.
thanks dude its help a lot
how do you do it with circular indexing?
Hi,
So what?
Should we normalise the calculated values? What colour does 514 refers to?
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?
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.
it was very useful put more videos
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.
Very good vídeo mano
Before start doing this process, I have to apply zero padding on the image, right?
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.
Thank you.I am deeply thankful.
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
Thanks for such a nice explanation .
Thanks! This is great.
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).
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.
great, there was a mistake
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
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.
amazing!
This is so excellent thank you so so much
thank you very much!
Helped a lot. Thank you.
Thank you! Very good tutorial.
still deserves an upvote
Ajudou muito a pesar de ter ficado zonzo de tanto a camera se mexer :)
Best explanation ever man!
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
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.)
explanation was good, but use some sort of tripod for the camera next time! thx for the lesson
many thanks realy it is very good
Great explanation but I think you are wrong. You are doing a correlation not a convolution
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
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)
Thanks
@@turbasdd touche
@@turbasdd That link no longer working :(
You saved my life man
I was laughing at 3:56. Really appreciate your efforts. Thanks
Great explanation dude !!
DUDE. This helped me pass. :D
Very nice to hear! Congrats! :)
for sure bro, thanks
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)
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.
this is not what convolution is, you need to flip the kernel first.
This is a correlation.
Thanks man! Really helpful.
For larger image, do we have to stick to 3x3 mask ? Or the mask increases with the size of image?
You don't have to stick to a 3x3 mask. It can be whatever size
@@marcelmcjackson4257 but the result will be different each time . Right?
@@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^^
@@marcelmcjackson4257 Thank you :)
Thanks a lot brother. It helped.
i think its correlation but thank you a lot. you helped me understand
Sir, your tutorial is nice in contents, but its better for you to buy a fixed frame to hold your mobile phone recorder
cool stuff dude.....
Thanks a lot
thanks DUDE
Clear and concise explanation
Great explanation !!!
Awesome explanation
good!!!
What is the purpose of the number we are putting inside the box
Thank you.
Nice video
I love you man
Thanks, man!
Plz explain red deer optimization
2024 and you are saving me sir! Thank you very much
Well done.
Thank you🌸
i love this video very good
why are you black
Thanks a lot bro
life saver!
I think each value has to be divided by d sum of kernel
no, that's not what you do when doing cross-correlation or convolution.
Very useful, thanks so much
Useful . Do some more videos