지난 포스트에서 ScrollViewer가 어떤식으로 이용되는지를 간단하게 설명했습니다. 사실 WPF가 익숙한 사람이라면 여기서나 기존의 WP7에서도 이런 방식이 쓰였다는 것을 알 수 있을 겁니다. 이번에는 그 내용을 토대로 정리해보고자 합니다. 자 우선 프로젝트를 하나 생성하고 xaml상에서 다음과 같이 작성합니다. 지금은 전체적으로 폰트의 크기를 26으로 통일한 상태입니다. 지금은 ScrollViewer안에 딱하나 StackPanel만 들어가있습니다. 물론 그 안에 뭔가를 채우려면 어떤 개체가 있어야 하는 거 아니냐 할 수 있는데 굳이 개체를 삽입하지 않고라도 충분히 표현할 수 있습니다. 우선 안에 채울 내용으로 색상 정보에 대한 RGB 값을 16진수로 표현하는 것을 다뤄보고자 합니다. 이 내용은 또 ..
이전 포스트까지는 컴퓨터에서 아두이노로 데이터를 줘서 표현하는 방식을 했었습니다. 이제는 반대로, 아두이노로부터 데이터를 받아서 컴퓨터에 뿌려주는 것을 해보고자 합니다. 물론 이런 정보 교환이 이뤄져야 컴퓨터는 아두이노가 접해있는 환경에 대한 정보를 알 수 있을 것이고 그에 대한 반응을 표현할 수 있을겁니다. 이런 걸 일종의 피드백이라고 합니다. 사람도 꾹 찌르면 반응이 옵니다. 그리고 그에 대한 반응을 상대방에게 돌려줍니다. 물론 이런건 자연스런 현상이지만 기계의 세상에서는 이 피드백이라는 것을 정의하지 않는 한,사용자의 입력에 대한 반응을 내보이지 않습니다. 보통 이런 입력을 감지하는데 있어서 많이 사용하는 것이 스위치라는 겁니다. 스위치는 두가지 입력값을 줄 수 있습니다. 하나는 켜졌다는 의미의 1..
Powerpoint 2013을 사용하다 보니까 UI적으로 많이 개선된 흔적이 많이 보입니다. 페이지 이동시 기존의 딱딱한 느낌에서 약간의 슬라이드 느낌을 줘서 조금더 부드럽게 이동하네요. 오늘 새롭게 찾은 기능은 지난 작업시 작업했던 페이지로 쉽게 넘어갈 수 있는 책갈피 기능입니다. 포멧은 pptx에서만 제공되고기존의 office 2010에서 제가 경험하지 않은 것으로 보아서 이번에 새롭게 추가된 기능인 것 같습니다. 무슨 특정한 동작을 하거나 작업이 필요한 것이 아닙니다. 그냥 자유롭게 보다가 페이지를 종료하면 그걸로써 임시 책갈피가 저장된 겁니다. 예를 들어서 위와 같이 10페이지를 보고 있다가 다른 작업을 이유로 해서 종료를 했습니다. 물론 10페이지야 간단하게 넘기겠지만 작업을 몇백장 한 경우에는..
Learning OpenCV에 보면 sobel 미분에 세부 내용으로 scharr 필터에 대한 내용이 들어가 있습니다. 지난 포스트에서 언급하기로는 소벨 미분은 각 축에 대한 미분을 실시해서 다항식을 근사화시킨 결과라고 했습니다. 물론 기존의 복잡한 다항식에서 근사화시킨 결과이기 때문에 연산속도의 측면에서 빠를 수 있겠지만 문제는 근사화 과정에서 손실되는 표본의 정보가 많을 수도 있다는 겁니다. 이 때 인자로 사용되는 aperture_size를 크게 하면 커널의 크기가 커져서 이런 문제를 해결할 수 있습니다. 그 와중에 aperture_size에 집어넣을 수 있는 값 중 하나가 바로 Scharr filter, 즉 CV_SCHARR 라는 값입니다. 기존의 3x3 sobel operator가 라고 정의된다면 ..
지난 포스트에서는 Threshold값을 조절함으로써 이미지의 경계값을 추출하는 예제를 해봤습니다. 그런데 사실은 그런 방법이외에도 여러가지 경계 추출법이 있습니다. 그중 하나가 이번 포스트에서 등장하는 Sobel derivative 입니다. 사용 방법은 다음과 같습니다.void cvSobel(const CvArr* src, - sobel 처리를 하려는 원래 IplImageCvArr* dst, - 처리한 결과를 담는 IplImageint xorder, - x방향으로 어느 차수만큼 미분할 것인가int yorder, - y방향으로 어느 차수만큼 미분할 것인가int aperture_size - 마스크의 크기 (aperture_size * aperture_size)) 일단 서두에 등장하는 내용이나 들어가는 인자의..
앞에서 한창 아두이노와 프로세싱을 시리얼 통신을 통한 프로젝트를 진행했습니다. 이제는 시리얼 통신의 주체가 PC에서 넘어서서 키넥트로 바꾸는 것을 해봅니다. 기존의 아두이노 프로그램을 활용하고 이전에 사용했던 회로를 그대로 이용합니다. 물론 아두이노에 프로그램을 넣고 다른 것으로 수정하지 않았다면 그냥 회로만 구성하시면 됩니다. 이해가 안 가시는 분은 이전 포스트에서 확인하시기 바랍니다.2012/08/15 - [About Processing] - [Arduino with Processing] Serial-Controlled LEDs그러고 보니까 저도 회로도를 다시 구성해야 되네요.. 자 그럼 본격적으로 다뤄야 할 것은 아두이노가 아니라 키넥트입니다. 우리는 이전에 프로세싱에서 키넥트를 활용할 수 있는 방..
오랜만에 휴가를 갔다오고 다시 글을 쓰고 있습니다. 뭐든지 휴식이 필요한 것 같습니다. 이번 포스트에서 해볼 내용은 축구 게임입니다. 마찬가지로 발에 대한 Skeleton을 활용해서 공이 충돌했을 때에 대한 이벤트로 날아가는 걸 구현하는 겁니다. 물론 이전에 다뤘던 내용을 토대로도 충분히 구현하실 수 있습니다만 하나하나씩 해보도록 하지요. 마찬가지로 프로젝트는 기존 프로젝트를 계속 활용하고 이미지는 다음 것을 다운받아서 프로젝트에 추가하시기 바랍니다. 이번에는 손이나 기존의 이미지는 다 필요없으니까 딱 위의 이미지에 대해서만 변수를 선언해줍니다. 그리고 기존것과 마찬가지로 충돌이벤트를 하기 위해서는 각 점에 대한 위치를 알아야 하겠지요. 다음과 같이 변수를 선언해줍니다. 당연히 이미지에 대한 호출을 Lo..
8월 15일자로 Windows 8 RTM과 VS 2012 이 출시되었습니다. 저는 MSDN 계정을 가지고 있기 때문에 남들보다는 조금 일찍 써보게 되네요. 그런데 사실 이런 툴이 중요한게 아니라 그냥 해보는게 중요한 거지요. 이에 맞춰서 페졸드씨의 Programming Windows 8 6th edition도 RP버전으로 업그레이드했습니다. 정식으로 ebook을 구매하신 분은 O`reilly에서 추가버전과 소스 코드를 받으실 수 있습니다. 뭐 그렇다 해도 거의 내용은 CP버전과 비슷한 거 같습니다. 자 다시 시작해보겠습니다. StackPanel로 여러가지를 다뤄보셨나요? 그런데 이것 저것 건드려 보신 분은 뭔가 이상한게 보일겁니다.StackPanel 안에 개체를 여러개 넣다보면 아무래도 화면의 크기는 한..
시리얼통신이란 매우 흥미롭습니다. 프로세싱과 아두이노를 연결해주는 건 단순히 USB선 하나일 뿐인데 마우스를 제어하면 아두이노가 움직인다는 거죠. 만약 아두이노에 모터라도 달면 그걸로도 제어가 가능하겠지요? 최종적인 목적은 키넥트가 움직이는 대로 아두이노에 달린 모터를 제어할 수 있도록 하는 것이지요. 그런 날이 올겁니다. 우선 지난 포스트에서 analogWrite를 통해서 불의 밝기를 부드럽게 조절하는 방법을 해봤는데 그건 단순히 달려있는게 LED 하나였기 때문에 간단했었지요. 이번에는 LED 두개를 달고 마우스의 x좌표뿐만 아니라 y좌표를 통해서 LED의 밝기를 조절할 수 있게끔 해볼 예정입니다. 앞에서 언급했었지만 PWM 이 되는 포트는 9,10,11번 포트였지요. 이번에는 10번과 11번 포트를 ..
배경 제거 방식을 통해서 손만 검출할 수 있으니까 이제 할려고 하는 일이 손의 edge를 따는 일입니다. 그중 나온지는 오래되었지만 가장 대중적이고 많이 쓰이는 방식인 Canny edge Detection을 공부하고 있습니다.- 원 본 - Canny Edge Detector는 기본적으로 그레이스케일화 된 이미지만을 처리할 수 있습니다. 물론 최근 버전에서는 Color에서도 Edge Detection이 되게 하는 방법도 제시되고 있는데 아직까지는 Color Image를 그레이스케일로 convert 시킨후, 혹은 IPL_DEPTH_8U를 통해서 한개의 채널로만 이미지를 형성해서 edge를 감지합니다. 위의 원본도 그런 형식이지요. cvCanny의 함수는 다음과 같이 사용됩니다.cvCanny(const CvA..
지난 포스트에서는 컴퓨터의 마우스커서를 통해서 LED를 제어하는 시리얼통신에 대해서 다뤘습니다. 실은 이렇게 쓴 글의 주제를 어디로 해야 될지가 참 고민이 되었습니다. 어떻게 보자니 아두이노에 속하는 내용이고, 다르게 보면 프로세싱 글입니다. 하지만 큰 맥락에서 보면 제 목적은 결국 키넥트의 입력값을 아두이노의 출력으로 내보내는데 그 중간 요소인 프로세싱을 다루는게 맞는 듯합니다. 아마 아두이노 부분에서는 그 본연의 기능에 대해서 다루려고 합니다. 아무튼 이번에는 아두이노 파트에서 계속 다룬 PWM을 활용해서 LED를 조금더 부드럽게 제어해보고자 합니다. 그 글에서도 언급했었지만 PWM이란 전압의 on/off 폭을 제어하는 것을 말하는데 LED에서는 사람 눈의 잔상효과를 사용해서 불의 밝기를 조절할 수 ..
조금씩 목표를 향해서 전진중입니다. 이제 프로세싱과 키넥트, 아두이노를 접목시키기 위해서는 시리얼 통신이라는 것을 활용해야 합니다. 간단하게 말하자면 시리얼 통신이란 RS-232 라는 모듈을 통해서 서로 통신하는 환경을 말하며, 보통 마이크로 프로세서와 pc간의 통신에 많이 활용됩니다. 물론 지금은 이걸 직접할 수 있는 시리얼 포트가 없어졌지만 대신에 시리얼포트를 대신해서 usb를 활용한 통신이 이뤄지고 있습니다. 어딘가에 UART와 USB를 변환시켜주는 칩셋이 있기 때문이지요. 잘 찾아보시면 이 기술이 나온게 참 오래되었고, 왜 최신 기술을 도입하지 않고 이 시리얼 통신을 활용한게 많냐고 생각하시는 분이 계실텐데, 가장 큰 장점 중 하나가 범용성이 될겁니다. 플랫폼이 다르더라도 외부와의 통신을 위한 규..
계속해서 골격정보를 이용한 프로그램을 다루고 있습니다. 특히 지난 포스트에서 이야기한 내용을 써먹으면 화면상에서 자유롭게 이동할 수 있는 네비게이션을 할 수 있다는 것이 좋은거지요. 여러분 혹시 이매진컵이라는 대회를 들어보셨나요? 이매진컵이란 MS에서 주최하는 세계 소프트웨어 공모전이며 세상의 난제를 해결하기 위한 솔루션들을 겨루는 대회입니다. 보통 난제라 하면 해결하기 힘든 문제들을 통칭하며 UN에서는 8가지 주제에 대한 난제를 제시하고 있습니다.http://staging.ic12.fasttrackteam.com/Downloads/DownloadableDocuments/UN%20MDG%20PDF/United_Nations_MDGs.pdf 이 중 가장 흔하게 다뤄지는 주제가 바로 기아 해소입니다. 아프리..
계속해서 Skeleton 정보를 이용해서 하나의 제스처를 만드는 작업을 해보고 있습니다. 이번에 해볼 것은 넘기는 자세를 통한 지도 네비게이션입니다. 보통 네비게이션을 할때 여러분들이 생각하는 제스처는 어떤 것일까요? 대부분의 사람들한테는 책장을 넘기듯 손을 한쪽에서 다른 방향으로 이동시키는 모션이 그런 네비게이션 제스처가 될 것입니다. 물론 일부 사람들에게는 독특한 네비게이션 제스처가 있을 수 있습니다. 그래서 그런 제스처를 일반화하기 위한 작업들을 연구에서 많이 사용합니다. 보통 이런 작업을 User Test라고 하고 이런 과정을 통해서 제스처를 정의하는 과정을 elicitation(끌어내기) 라고 합니다. 하지만 저희는 이런 과정없이 그냥 모션을 제어해보도록 하지요. 일단 기존 프로젝트를 계속 활용..
WPF를 활용한 윈도 어플리케이션을 보면 Grid라는 걸 많이 보셨을 겁니다. 그리고 그에 따라서 같이 붙어나오는 StackPanel도 많이 보셨을 겁니다. 사실 지금 언급되는 Grid니 StackPanel이니 Canvas 같은 건 UIElement에 속해있는 요소입니다. 그중에서도 StackPanel은 이름에도 내포되어 있듯이 어떤 개체가 Stack처럼 쌓이는 구조를 띕니다. 물론 윈도우폰 7 섹션에서도 이 기능을 언급했지만 윈도우 8에서는 어떻게 나타나는 지를 한번 예제를 통해서 봅시다. 앞에서도 이야기했지만 Stack이 쌓이는 구조이니 서로 개체끼리 겹치는 경우가 없습니다. 다음과 같이 구성해봅니다. 지금 현재 프로젝트에는 test.png라는 이미지를 삽입한 상태입니다. 지난 포스트에서도 언급했다시..
- Total
- Today
- Yesterday
- Variance
- Kinect SDK
- RL
- Off-policy
- End-To-End
- Offline RL
- 한빛미디어
- windows 8
- 강화학습
- dynamic programming
- Expression Blend 4
- reward
- TensorFlow Lite
- Gan
- 파이썬
- ai
- bias
- Windows Phone 7
- DepthStream
- Kinect
- 딥러닝
- Policy Gradient
- ColorStream
- Kinect for windows
- Pipeline
- PowerPoint
- Distribution
- SketchFlow
- processing
- arduino
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |