본문 바로가기

Lab/Basic Algorithms

Gaussian Blur - 1 Gaussian sigma = 5 Gaussian sigma = 10원본 Gaussian Blurring 이란? 많은 블러링 알고리즘의 하나이다. 여기서 주목할것이 있는데 사진에서의 블러링의 의미이다. 보통 이렇게 설명한다. 높은 주파수는 통과시키지 않고 낮은 주파수만 통과시키는것이 블러링이다. 말이 너무 어렵다. 그러나 잘 의미를 생각해보면 높은 주파수가 이미지에서 의미하는 것은 갑자기 변화는 부분이다. 즉, Edge영역을 의미하며 이를 순화시키면 시킬수록 블러링이된다. 그래서 보통 블러링을 low pass filter 라 부른다. 가우시안은 의 식으로 표현되면 이는 2D Gaussian filter이다. 가우시안 필터는 보통 다음과 같은 성격을 지니며 위의 식은 정규 분포 (μ = 0과 σ^2 = 1.. 더보기
Edge Detection - Sobel sobel은 많이 쓰이는 edge detection 알고리즘중의 하나이다.기본적으로 edge는 x, y direction을 구하고 이를 이용하여 magnitude을 구하여 이를 표시하면 edge을 구할수 있다.plus, x, y direction 을 이용하여 edge direction을 구할 수 있다. 또 하나의 중요한 것은 mask단위이므로 convolution 연산을 한다는 것이다. sobel mask magnitude angle 소스 보기 int w = image->width; int h = image->height; // soble x, y int sx[3][3] = { {-1, 0, 1}, {-2, 0, 2}, {-1, 0, 1}}; int sy[3][3] = { {-1, -2, -1}, { 0.. 더보기
bilinear interpolation 기본적으로 bilinear interpolation = interpolation을 3번 한 것이다. // interpolation // su,ev su,eu // c----------d // | | // | p(x,y) | // | | // a----------b // su,sv su,ev 이라면, pixel과 바로 옆 한 픽셀사이를 그 범위로 한다. 따라서 0~1 위치값으로 대변된다. interpolation의 기본식은(찾아보기 바람) 식(1) (1-p)*a+p*b 이때 a와 b는 pixel값이다. 예를 들어, 위의 그림에서 a(x, y)이면 b(x+1, y)란걸 인식해야한다.그러면, 식(2) (1-p)a+pb = (1-p)* I(x,y)+p*I(x,y) p는 무엇인가 interpolation의 wei.. 더보기