본문 바로가기

Lab

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.. 더보기
iphone opengles 환경에서 3d model 불러오기 간단하다~ 3d head 모델을 가져오는 테스트다.다른 포멧을 obj 포멧으로 전환하고뛰우는데 애먹었다. Opengles 정확히 이해하지 못하고 예제 샘플을 조금 이해하고 올렸다. 그리고 예제 소스가 그다지 많지 않아서~ 조금 힘들다~~!! 이제 시작중인 공부~~!!!! 더보기
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.. 더보기
stasm library 다운로드 : http://www.milbo.users.sonic.net/stasm/Active Shape Model에 대한 라이브러리이다. install이 조금 어렵다. 리눅스 환경에 gsl 라이브러리를 install를 해야한다. 음. (윈도운 버전은 잘 모름. 아마도 gsl이 window 버전이 있으면 될듯.) 사용해본 경우는 google code에 있고 위의 사이트에 "Yao Wei asmlibrary (illegal implementation derived from Stasm, source code not available)" 이런식으로 소개되어 있는 OpenCV 라이브러가 있는데.. 이것보다 훨씬 잘 된다. 위의 빨간선은 ASM의 결과이고 녹색은 이 결과를 이용하여 Convex Hull를 찾은것이.. 더보기
Saliency Map 사실 5년전에 해놓은건데요~ 기억이 좀 가물가물하네요~ Color+Intenstiy+Orientation Map를 구하여 도드라진 영역을 구한다라는 게 기본 개념인듯합니다. 얼마전에 보니 다른 응용된 가지 알고리즘들이 있더군요~ 사실 잘되는 이미지들도 있고 잘 안되는 이미지들도 있습니다.~ "사람이 이미지을 볼때 가장 중요 영역을 자동적으로 찾자"라는게 기본 개념인것 같습니다. 다음은 제 결과들이구요. 과정은 다음과 같습니다. 위의 3가지 Map을 구해서 최종 Saliency Map을 구했습니다. 그리고 저는 요렇게 영역을 구했습니다. 더보기
이미지에서 자전거를 찾자 - Object Detection 이 카테고리 포스트는 단지 실험적이고 테스트 결과를 보여줍니다. 바로 이전 포스트와 내용은 동일합니다. 이번엔 자전거죠 이전 포스트 고양이보다는 더 잘 되는듯한 느낌이 듭니다. 어떻나요? 더보기
고양이 얼굴을 찾자~ object detection 링크 object detection에 관해 서치하다가 위의 링크를 찾았네요. 여기에 좀 신기한게 있고 코드가 공개되어 있어서 한번 테스트를 해보았습니다. 정리하자면 이렇습니다. OpenCV에 있는 Harr-like feature + adaboost 과 유사한 형태의 알고리즘을 사용하는 듯한데요. 논문을 보면 Harr like feature가 아니라 HOG(Histograms of Oriented Gradients)를 이용하네요~ 이 사이트에 들어가보면, 사람, 자전거, 고양이에 대한 학습된 파일을 함께 제공합니다. 리눅스에서 실행했더니 야간의 에러가 있는것을 제외하고는 금방 실행시킬수 있었습니다. 다음은 그 데모 결과입니다. 다음에는 다른 대상을 돌려보아야 겠네요~:) 더보기
Old한 이미지 효과를 줘볼까? 이전 old한 효과를 주기위해 어떻게 할까? 가~~끔:) 고민한적이 있다. 링크 위의 링크를 보다가 앗 이렇게 하면되겠구나~라고 생각했다. 모 구현은 아주 쉽다 두 이미지를 그냥 합성하면 된다~ 어떻게 보면 디자인이 더 중요하다고 할 수 있겠다~^^ 참고로 이 효과를 구현할때 OpenCV의 cvAddWeighted 함수를 쓰면 바로 구현 가능하다~! 더보기
Color Dodge 효과를 따라하다가~ 이 게시판은 실험적 테스트 결과를 보여줍니다. 즉, 미완성인 결과 또는 가능성..결과를 보여준다는 의미입니다. 링크 우연히 위의 링크를 보고 Color Dodge라는 알로리즘을 알게되었다. 이 링크된 웹페이지를 보니 Sketch 효과를 내기위해 포토샾에서 많이 사용되는 알고리즘인듯하다. 그러나 따라서 포토샾에서 낸 효과를 완전히 따라하기는 불가능했다~ 일종의 손으로 그린것이니 그럴만도 하다고 생각한다.:) 비슷하게 구현은 했으나 이걸 따라하다가 좀더 괜찮은 분위기를 내는 효과를 구현했다~ 분위기는 좋다고 생각하는데 어떠신지? 내 생각은 좀 고급스러운 느낌이라고나 할까~모 내생각은~!!! 암튼 기본적으로는 Color Dodge 알고리즘이다. 이미지효과는 시간날때, 서치하다가 찾아낼 때 하고싶을때 구현합니다.. 더보기