한번 5개의 processing 창을 동시에 출력하는 예제를 해봤다. 내용은 각 창마다 마우스 포인터의 위치를 따라가는 예제이다.(참고 : http://stackoverflow.com/questions/20730901/create-more-than-one-window-of-a-single-sketch-in-processing) import javax.swing.*; SecondApplet s;ThirdApplet t;FourthApplet f;FifthApplet ff; void setup() { size(640, 480); PFrame f = new PFrame(width, height); PFrame s = new PFrame(width, height); PFrame t = new PFrame(wid..
먼저 소개할 내용은 Anti-Aliasing(AA)이다. 아마 게임을 많이 하는 사람이라면 AA option을 많이 다뤄봤을텐데, 이걸 켜느냐 마느냐에 따라서 그래픽이 달라질 때가 있다. 간단하게 원리를 설명하자면, 높은 해상도 상에서 구현된 물체를 낮은 해상도에서 출력하고자 했을 때, 출력 개체는 물체를 세밀하게 묘사하려고 시도는 한다. 그런데 그게 능력이 안되니까, 자기 표현할 수 있는 한 최대로 비슷하게 구현하려는데, 이게 계단처럼 표현되는 현상을 Aliasing이라고 한다. 보통 곡선을 표현할 때 Aliasing 현상이 많이 나타나는데 이걸 Processing 상에서도 noSmooth() 함수를 통해서 표현할 수 있다. 보면 알겠지만 왼쪽 상단에 있는 원이 뭔가 표면이 거칠어보인다. 저게 alia..
Processing이 Version 2로 넘어오면서 여러가지 툴도 추가되고 좋아진거 같다. 다만 기존에 하고 있던 SimpleOpenNI는 Processing 1.5까지만 지원되고 개발자도 2.0 대 부터는 손을 놓은거 같다. 아무튼 Coursera에 Introduction To Computational Arts 라는 이름으로 Processing 강좌가 진행되고 있다. 방학때 Processing들어보고 싶은 사람은 한번 들어보면 좋을 거 같다. 물론 영어다.. 간단하게 Basic of Drawing 강좌에 나온 내용을 요약해보려고 한다. 우리가 보고 있는 이 창은 Sketech 라고 하는 Processing IDE다. Java 기반이고.. 우리는 여기다가 코드를 넣을 수 있다. 단순히 코드만 넣는 게 아..
지난 포스트에서 예고한대로 지난 포스트에서 만든 결과물을 가지고 조금더 응용을 해보도록 하겠습니다. 그때도 말했던 것처럼 3d 버튼을 눌렀을 때 효과음이 나오게 하려고 합니다. 그중에서도 kick 소리가 나게끔 하면 뭔가 좀 실제로 치는 느낌이 들지 않을까 싶네요. 자 우선 음원을 재생할 수 있는 라이브러리인 minim에 대해서 간단히 다뤄보겠습니다. minim은 기본적으로 음원을 다룰 수 있는 프로세싱 내장 라이브러리입니다. 이걸로 음원 직접 만들 수 있고, 음원을 분석해서 파형으로도 나타낼 수 있습니다. 여기에는 우리가 많이 이용하는 mp3 나 wav 규격이나, 흔하지는 않지만 무손실 무압축 포맷인 aiff 규격까지 지원합니다. 자 그럼 일단 test 음원을 가지고 하나 테스트해보겠습니다. 일단 기본..
그동안 kinect에 관한 포스트를 올리지 못했습니다. 아시는 분이나 최근에 블로그에 올라오는 글들을 보신 분들은 아시겠지만 학교에서 전공하는 내용이 키넥트와는 상관이 없습니다. 하지만 제 생각에는 언젠가는 키넥트는 미래 기술의 대세가 될 거라고 생각하고 조그만한 거부터 다시 해보고자 합니다. 이번 포스트에서 다뤄볼 내용은 depthImage와 ColorImage을 mapping한 Point Cloud 상에 3D 버튼을 삽입해보는 예제를 해보고자 합니다. 뭐 Point Cloud를 뽑아내는 코드야 이 블로그에서도 소개했던 적이 있고, SimpleOpenNI 예제로도 있기 때문에 그걸 참고하시면 쉽게 구현하실 수 있을 겁니다. 자 그럼 일단 Point cloud가 3차원으로 보여지기 때문에 우리가 만들 버..
우연히 찾다가 유용한 라이브러리가 있어서 소개해드리고자 합니다. 보통 이미지 프로세싱을 OpenCV로 많이 하다가 다른 언어로 변환하는 형태를 많이 취하고 있는데요. 그렇게 해서 나온 것중에 JavaCV도 있고 저번에 소개해드린 blob detection도 있습니다. 심지어는 pedestrian detection도 해주는 라이브러리도 있습니다. ( 이부분은 나중에 해보고 소개해드리려고 합니다.) 그런데 위 사이트는 보니까 Viola-Jone Face Detection을 Processing으로 포팅하는 과정을 수행하고 있습니다. 참 놀라울 따름입니다.(어떤건지 궁금하신 분은 다음 논문을 참고하시기 바랍니다. http://research.microsoft.com/en-us/um/people/viola/pub..
지난 포스트에서 예고했던 것처럼 프로세싱에서 창 여러개를 띄우는 예제를 해보겠습니다.다들 해보셨겠지만 지금까지는 창 한개에서만 동작이 되는 걸로 다했었습니다. 하지만 키넥트에 붙여서 사람이 움직이는 모습도 보면서 다른 효과도 창으로 띄울 수 있다면 좋겠지요, 그래서 그 별도의 창을 위한 클래스를 하나만들면 됩니다. 참고로 알아둘 점이 있다면 프로세싱은 Java 기반의 플렛폼이라는 겁니다. 즉, 프로세싱으로 여는 창 자체가 하나의 애플릿이라는 겁니다. 맨먼저 프로세싱을 띄우는 메인 프레임에 대한 클래스를 하나 선언해둡니다. 그런데 이안에서 정의되는 내용은 진짜 메인 프레임에 대한 내용이 아닌 이와 별도로 띄울 창에 대한 설정이라고 생각하시면 편할 것 같습니다. 개념은 이런겁니다. setup에서 size를 ..
많이 다루고들 계시겠지만 프로세싱으로 다양한 효과를 낼 수 있습니다. 저는 그 중에서도 키넥트랑 연동해서 할 수 있는 작업에 대해서 소개를 하고 있고, 그에 필요한 기본적인 지식을 전달하고 있습니다. 그 중 오늘 다뤄볼 내용은 동영상 재생입니다.물론 기본 Example에도 나오는 내용이긴 하지만 이걸 통해서 손의 위치에 따라 재생 속도를 조절하는 예제를 보여드리고자 합니다.우선 여러가지 방법들이 있습니다. 기본적으로 내장되어 있는 Video 라이브러리를 사용할 수도 있고, 일반 사용자가 만든 GSVideo 라이브러리를 사용할 수도 있습니다만, 여기서는 기본 라이브러리를 통한 재생 방법을 알아보도록 하겠습니다. 무척 쉽습니다. 먼저 들어가기 전에 영상을 준비해야 되는데 아무 동영상이나 되는 것이 아니라 M..
요즘 방명록으로 많이들 물어보십니다만.. 저도 그렇게 잘 아는 수준이 아니고 책에 있는 내용을 복습하는 수준이라서 더 상세하게 답변을 못드리고 있습니다. 그중 전에 저한테 손에서 Particle이 생기게 할 수 있지 않느냐는 질문을 했었고, 이번 포스트에서 한번 시도해보고자 합니다. 기본적인 접근은 이렇습니다. 이 섹션의 지난 포스트 중에서는 Wave 제스처를 통해서 손을 인식하고 그 손의 움직임에 따라서 LED의 밝기를 조절할 수 있었습니다. 그 밝기를 조절하는 기능대신에 손의 위치를 따라서 Particle이 생기게 할 겁니다. 만약 3차원으로 표현하고 싶다면 Particle 대신에 Sphere가 생기게 하면 좋겠지요. 저는 일단 Particle로 해보겠습니다. 자 우선 간단하게 Depth Image상..
좀 지난 시간에 제가 SimpleOpenNI 라이브러리를 이용해서 Processing에서 Depth Map을 출력하는 방법을 소개한 적이 있습니다.2012/07/04 - [About Processing] - [Processing] DepthMap In SimpleOpenNI 사실 이 포스트에서는 아주 기본적인 DepthMap 출력 형태를 소개해드렸기 때문에 사용자가 자신이 원하는 대로 DIY를 할 수 있던게 제가 포스트를 한 의도였습니다. 많은 분들도 그에 따라서 수정을 해보셨겠지요. 오늘 한분이 궁금해 하신 내용 중 하나가 이것이었습니다. 과연 Kinect로부터 DepthMap은 받아오는데 다시 사용자가 DepthMap을 기반으로 Processing에서 그 무언가를 뿌리는게 가능하지 말입니다.생각보다 ..
이전 포스트까지는 컴퓨터에서 아두이노로 데이터를 줘서 표현하는 방식을 했었습니다. 이제는 반대로, 아두이노로부터 데이터를 받아서 컴퓨터에 뿌려주는 것을 해보고자 합니다. 물론 이런 정보 교환이 이뤄져야 컴퓨터는 아두이노가 접해있는 환경에 대한 정보를 알 수 있을 것이고 그에 대한 반응을 표현할 수 있을겁니다. 이런 걸 일종의 피드백이라고 합니다. 사람도 꾹 찌르면 반응이 옵니다. 그리고 그에 대한 반응을 상대방에게 돌려줍니다. 물론 이런건 자연스런 현상이지만 기계의 세상에서는 이 피드백이라는 것을 정의하지 않는 한,사용자의 입력에 대한 반응을 내보이지 않습니다. 보통 이런 입력을 감지하는데 있어서 많이 사용하는 것이 스위치라는 겁니다. 스위치는 두가지 입력값을 줄 수 있습니다. 하나는 켜졌다는 의미의 1..
앞에서 한창 아두이노와 프로세싱을 시리얼 통신을 통한 프로젝트를 진행했습니다. 이제는 시리얼 통신의 주체가 PC에서 넘어서서 키넥트로 바꾸는 것을 해봅니다. 기존의 아두이노 프로그램을 활용하고 이전에 사용했던 회로를 그대로 이용합니다. 물론 아두이노에 프로그램을 넣고 다른 것으로 수정하지 않았다면 그냥 회로만 구성하시면 됩니다. 이해가 안 가시는 분은 이전 포스트에서 확인하시기 바랍니다.2012/08/15 - [About Processing] - [Arduino with Processing] Serial-Controlled LEDs그러고 보니까 저도 회로도를 다시 구성해야 되네요.. 자 그럼 본격적으로 다뤄야 할 것은 아두이노가 아니라 키넥트입니다. 우리는 이전에 프로세싱에서 키넥트를 활용할 수 있는 방..
시리얼통신이란 매우 흥미롭습니다. 프로세싱과 아두이노를 연결해주는 건 단순히 USB선 하나일 뿐인데 마우스를 제어하면 아두이노가 움직인다는 거죠. 만약 아두이노에 모터라도 달면 그걸로도 제어가 가능하겠지요? 최종적인 목적은 키넥트가 움직이는 대로 아두이노에 달린 모터를 제어할 수 있도록 하는 것이지요. 그런 날이 올겁니다. 우선 지난 포스트에서 analogWrite를 통해서 불의 밝기를 부드럽게 조절하는 방법을 해봤는데 그건 단순히 달려있는게 LED 하나였기 때문에 간단했었지요. 이번에는 LED 두개를 달고 마우스의 x좌표뿐만 아니라 y좌표를 통해서 LED의 밝기를 조절할 수 있게끔 해볼 예정입니다. 앞에서 언급했었지만 PWM 이 되는 포트는 9,10,11번 포트였지요. 이번에는 10번과 11번 포트를 ..
지난 포스트에서는 컴퓨터의 마우스커서를 통해서 LED를 제어하는 시리얼통신에 대해서 다뤘습니다. 실은 이렇게 쓴 글의 주제를 어디로 해야 될지가 참 고민이 되었습니다. 어떻게 보자니 아두이노에 속하는 내용이고, 다르게 보면 프로세싱 글입니다. 하지만 큰 맥락에서 보면 제 목적은 결국 키넥트의 입력값을 아두이노의 출력으로 내보내는데 그 중간 요소인 프로세싱을 다루는게 맞는 듯합니다. 아마 아두이노 부분에서는 그 본연의 기능에 대해서 다루려고 합니다. 아무튼 이번에는 아두이노 파트에서 계속 다룬 PWM을 활용해서 LED를 조금더 부드럽게 제어해보고자 합니다. 그 글에서도 언급했었지만 PWM이란 전압의 on/off 폭을 제어하는 것을 말하는데 LED에서는 사람 눈의 잔상효과를 사용해서 불의 밝기를 조절할 수 ..
조금씩 목표를 향해서 전진중입니다. 이제 프로세싱과 키넥트, 아두이노를 접목시키기 위해서는 시리얼 통신이라는 것을 활용해야 합니다. 간단하게 말하자면 시리얼 통신이란 RS-232 라는 모듈을 통해서 서로 통신하는 환경을 말하며, 보통 마이크로 프로세서와 pc간의 통신에 많이 활용됩니다. 물론 지금은 이걸 직접할 수 있는 시리얼 포트가 없어졌지만 대신에 시리얼포트를 대신해서 usb를 활용한 통신이 이뤄지고 있습니다. 어딘가에 UART와 USB를 변환시켜주는 칩셋이 있기 때문이지요. 잘 찾아보시면 이 기술이 나온게 참 오래되었고, 왜 최신 기술을 도입하지 않고 이 시리얼 통신을 활용한게 많냐고 생각하시는 분이 계실텐데, 가장 큰 장점 중 하나가 범용성이 될겁니다. 플랫폼이 다르더라도 외부와의 통신을 위한 규..
- Total
- Today
- Yesterday
- bias
- Kinect for windows
- Windows Phone 7
- 강화학습
- Distribution
- Offline RL
- Gan
- dynamic programming
- Kinect SDK
- reward
- Kinect
- 한빛미디어
- End-To-End
- TensorFlow Lite
- windows 8
- 딥러닝
- PowerPoint
- arduino
- Pipeline
- 파이썬
- ai
- RL
- Policy Gradient
- ColorStream
- Variance
- SketchFlow
- Off-policy
- processing
- DepthStream
- Expression Blend 4
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |