Archive for the author ·

jin_u

·...

seri : 명언 [8월12~8월25일]

no comments

[08-12]
그대의 하루하루를 그대의 마지막 날이라고 생각하라.
- 호라티우스 -

[08-16]
내가 헛되이 보낸 오늘 하루는
어제 죽어간 이들이 그토록 바라던 하루이다.

- 소포클레스 -

[08-18]
미래는 자신의 꿈을 믿는 자의 것이다.
- 일리노어 루즈벨트 -

[08-19]
세월은 누구에게나 공평하게 주어진 자본금이다.
이 자본을 잘 이용한 사람에겐 승리가 있다.

- 아뷰난드 -

[08-25]
인생은 실수를 저지르고,
실수를 고쳐나가는 과정이다.

- 요나스 서크 -

keyrow? keyword history? rank?

no comments

http://www.keyrow.com/data/?k=flartoolkit

접속 통계를 보다가 이상한 곳을 찾았다. “키워드 순위?”를 체크하는 사이트 같은데…

FLARToolKit에 관하여 관심을 갖고 여러가지 정보와 작업들을 해보면서 사이트에 올리기 위해 youtube에 올렸던 영상들을 사람들이 의외로? 좀 보았던것 같다. 순위도 나쁘지 않군. -_-

맘에 들었던 효과를 뽑아 본다면…
1위 타이포 효과
2위 이미지 회전 효과
3위 Fire Shape

퀄리티에 신경을 쓰지 않았던 것들이기에 나머진… so~ so~

Flash Gesture Recognition Demo – Mask Effect

no comments

요즘 한창 Image Processing에 관해서 공부를 하다가 제스처를 인식하여 마스크 효과를 적용해보면 어떨까하여 만들어 보았다. 이미지를 다루는 것이 아직도 서툴고 개념적으로 박히기에는 멀었다. 하지만 결과적으로는 재미있는 아웃풋이 나왔다.

우선, 제스처에 관련된 소스를 검색하여 개념을 익히는 일을 선행하였고, 이것을 어떻게 요리를 할 것인가에 대한 접근을 하면서 Step by Step으로 풀어나갔다.

코드의 중요 핵심은 제스처로 얻어낸 이미지를 어떠한 형태로 변형하여 마스크에 적용하느냐는 것이였다. 생각해 보면 그리 어렵지 않다고 판단했지만… 어려웠다.

우선 아래와 같이 Bitmap에 마스크를 적용할 수 있다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
_image = new Bitmap(new NightImage(0, 0), "auto", true);
_image.x = 10;
_image.y = 10;
_image.width = _output.width;
_image.height = _output.height;
addChild(_image)
 
_mask = new Bitmap(new BitmapData(_output.width, _output.height));
_mask.x = 10;
_mask.y = 10;
addChild(_mask);
 
_image.mask = _mask;
_image.cacheAsBitmap = true;
_mask.cacheAsBitmap = true;

위에서 보면 단순하지만 이미지 데이터는 쉽게 마스킹이 되지 않는다.
이미지 속성에 마스크를 적용하기 위해서는 “white & black” 으로만 적용을 할 수가 있다.

그래서 아래와 같이 캠 화면에 찍힌 이미지에 필터를 적용하여 반전을 시켜 흰색만을 추출해 내야 한다.

1
2
3
4
5
6
7
8
_now.draw(_src, _mtx);
_now.draw(_old, null, null, BlendMode.DIFFERENCE);
 
_now.applyFilter(_now, _now.rect, new Point(), _col);
_now.applyFilter(_now, _now.rect, new Point(), _blr);
 
_now.threshold(_now, _now.rect, new Point(), '>', 0xFF333333, 0xFFFFFFFF);
_old.draw(_src, _mtx);

그리고 다음 코드와 같이 검은색을 알파 처리해서 적용하면 끝이다.

1
2
_mask.bitmapData.threshold
(_output.bitmapData, _output.bitmapData.rect, new Point(), '>', 0xFF000000, 0x00000000);

요번 작업으로 많은 이미지 데이터 처리가 존재한다는 것을 알게되었다.
이러한 효과를 여러가지 형태로 응용이 가능해 보인다.

작업을 하면서 느낀점은 빛에 대한 처리가 가장 힘들다.
그리고, 플래시의 캠 인식 속도가 느려서 많은 것을 시도하기에는 어렵다는 것이다.

결론적으로, 플래시로도 요번과 같은 인식에 대한 것들을 제작할 수 있지만
프로토타입핑 수준이라고 생각된다.