# πCommon Concepts

## π Important Terms

 Term Description Convolution Applying some filter on an image so certain features in the image get emphasized

## π Convolution Example

#### π€ How did we find -7?

We did element wise product then we get the sum of the result matrix; so:

``````3*1 + 1*0 + 1*(-1)
+
1*1 + 0*0 + 7*(-1)
+
2*1 + 3*0 + 5*(-1)
=
-7``````

And so on for other elements π

## π Edge Detection

An application of convolution operation

### π Edge Detection Examples

Result: horizontal lines pop out

Result: vertical lines pop out

### π What About The Other Numbers

There are a lot of ways we can put number inside elements of the filter.

For example Sobel filter is like:

``````1   0   -1
2   0   -2
1   0   -1``````

Scharr filter is like:

``````3    0   -3
10   0   -10
3    0   -3``````

Prewitt filter is like:

``````-1   0   1
-1   0   1
-1   0   1``````

So the point here is to pay attention to the middle row

And Roberts filter is like:

``````1    0
0   -1``````

### β¨ Another Approach

We can tune these numbers by ML approach; we can say that the filter is a group of weights that:

``````w1    w2   w3
w4    w5   w6
w7    w8   w9``````

By that we can get -learned- horizontal, vertical, angled, or any edge type automatically rather than getting them by hand.

## π€ΈββοΈ Computational Details

If we have an `n*n` image and we convolve it by `f*f` filter the the output image will be `n-f+1*n-f+1`

### π Downsides

1. π If we apply many filters then our image shrinks.

2. π€¨ Pixels at corners aren't being touched enough, so we are throwing away a lot of information from the edges of the image .

### π‘ Solution

We can pad the image πͺ

Last updated