[Python] 파이썬으로 Google API 연동 셋팅하기

2011. 5. 20. 08:32
구글에서는 Youtube, GoogleDoc, Blogger 등의 수많은 서비스의 API를 파이썬에서 이용할 수 있도록 지원해준다. 파이썬의 문법을 간단히 익혔으므로 본격적으로 이를 활용하여 간단한 앱들을 만들어보기로 했다. 

http://code.google.com/apis/gdata/articles/python_client_lib.html
다행히도 위 사이트에서  파이썬을 이용한 구글API 사용법을 친절하게 안내해주고 있다.

>>>from xml.etree import ElementTree
먼저 XML 라이브러리 설치 여부를 확인한다. 파이썬 인터프리터에서 위와 같이 입력하였을 때 아무 에러메시지 없이 잘 임폴트 되었다면 이미 설치되어 있는 것이므로 그냥 다음 단계로 넘어가면 된다. 만약 임폴트가 실패하면 http://effbot.org/downloads/#elementtree 에서 다운받아야 한다. 윈도우 사용자라면 exe파일을, 리눅스 사용자라면 zip파일을 받으면 된다. (리눅스 사용자는 압축을 푼 후 sudo ./setup.py install 를 터미널에 입력하여 설치하도록 하자)

http://code.google.com/p/gdata-python-client/downloads/list
위 URL에서 Google Data Library를 다운 받을 차례다. 가장 상위의 최신 버전을 다운받자. (윈도우 사용자는 zip파일을, 리눅스 사용자는 tar.gz파일을 받는다). 

나는 우분투 사용자이므로 tar.gz 파일을 받아 사용자 계정에 압축을 풀고
설치한 경로에서 sudo ./setup.py install 를 터미널에 입력하여 라이브러리를 설치하였다.

뭔가가 마구 설치되고 난 후,
정상 설치 테스트를 하기 위해 
sudo ./tests/run_data_tests.py 를 입력한다.

   위와 같이 OK가 계속 출력되면 정상적으로 라이브러리가 설치되었음을 확인할 수 있다.

이제 파이썬으로 구글API를 이용하기 위한 준비가 끝났다. 터미널에서 라이브러리 설치 경로로 이동해서 샘플 코드를 실행해 볼 수 있다. ./samples/docs/docs_example.py를 입력해보자.  


박상근 프로그래밍/Python

윈도우 비스타에서의 볼륨 컨트롤

2009. 10. 13. 04:03

  나의 윈 폼 어플리케이션 처녀작인 Laptop Guard를 만든지도 어언 1년이 다 다되었다. 이 작품 덕에 삼성 소프트웨어 멤버십이라는 멋진 곳에 모자란 내가 들어갈 수도 있었고, 프로그래밍에 깊은 재미를 느낄 수 있었던 것 같다.

 

  작년 학교 축제기간의 우리과 소프트웨어 전시회 때에는 아직 Laptop Guard가 미구현 된 점도 많고, 내가 그런 전시회에 작품을 냈다가 망신만 당하는 것은 아닐까 하는 생각에 참여를 못했었는데, 올해 작품 전시회에 이 작품을 전시하게 되었다.

  1년간 한 쪽 구석에 처박아뒀기에 아직 잘 돌아가나 테스트를 해보니. 아뿔사. XP환경에서 개발했었는데, 지금 내가 사용중인 OS는 비스타이다.

 

 

  코드 프로젝트에서 구해서 이용했던 WaveLibMixer.dll 이 XP환경에서만 오디오 볼륨 조절이 가능했던 것이다.


http://www.codeproject.com/KB/audio-video/AudioLib.aspx?display=PrintAll&fid=217323&df=90&mpp=25&noise=3&sort=Position&view=Quick&fr=26&select=2685226


Comment를 보니 나처럼 이 프로젝트가 비스타에서 작동하지 않음을 호소하는 글들이 몇 개 눈에 들어왔고, 윈도우 비스타와 XP는 사운드 시스템 체계가 다르다는 것 또한 알 수 있었다.

 

결국 비스타에서 오디오 조절 방법을 찾다가 코드 프로젝트에서 CoreAudioApi 프로젝트를 찾았다. 시스템에서의 오디오장치를 이용하는 MMDevice API와 볼륨, 피크미터에 접근이 가능한 EndPointVolume API를 이용한 방법이었다.


http://www.codeproject.com/KB/vista/CoreAudio.aspx?display=PrintAll


프로젝트를 다운 받아 분석하고 바로 Laptop Guard에 적용시켰다. 이 전과 다른 점이라면 이전에는 볼륨이 0~65535까지 였는데, 이번엔 0.0~1.0 까지로 볼륨 크기를 나누었다는 것 정도.

 

  1년 만에 내 코드를 다시 보니 부끄럽다. 손이 가는대로 막코딩하다보니 코드도 너저분하고, 쓸데없는 변수들의 남용들, 비효율적인 구조… 으하하하.

 

  새로 컴파일 하고 실행해보니 잘 비스타에서 잘 작동한다.

휴.. 다음에 여유가 생기면 새로 설계 후 다시 깔끔하게, 배포할 수 있을 정도로 만들어봐야겠다. 아직은 도서관 등에서 사용하기에는 너무 치명적인 버그들이 존재하기에 ㅋㅋㅋ

박상근 프로그래밍/Laptop Guard

C#용 증강현실 라이브러리 - NyARToolKitCS

2009. 9. 20. 06:23

NyARToolKitCS 는 NyARToolKit의 종류 중 하나입니다.


NyARToolKit은 이미 널리 알려진 ARToolKit(Hirokazu kato와 Human Interface Technology Lab에서 개발된 증강현실 라이브러리) Ver 2.72.1을 발전시킨 호환 ARToolKit 클래스 라이브러리입니다. JAVA / Android / C#.NET FW/ C#.NET CFW / Action Script3 / C++ 등의 여러 플랫폼을 지원하고 있습니다.


NyARToolKitCS는 NyARToolKIt의 C#용 버전이며, 2008년 6월 최초버전이 공개된 이후 2009년 5월에 2.3.0 버전이 최종으로 릴리즈되어 있습니다.

 

NyARToolKItCS Architecture


 

NyARToolKitCS는 .NET Framework 2.0 이상에서 동작하며 컴파일러는 Visual C# 2008 Professional Edition 이상이 필요합니다. 또한 Windows Mobile 5 이상에서도 동작이 가능하며 이때에는 .NET Compact Framework 3.5 이상의 환경이 필요합니다.


카메라 입력은 DirectShowLib.NET을 이용하며, 3D 출력에는 Managed Direct3D를 사용합니다. .NET CFW에서 개발할 시에는 카메라 영상 입력을 위해 NyWMCapture (Capture DLL for WM), Mobile Managed Direct3D를 사용합니다.

 

Coordination of ARToolKit


Basic Principles of ARToolKit


Computer Vision Algorithm of ARToolKit


 

NyARToolKitCS의 좌표체계는 기존의 ARToolKit과 같은 원리이며, 동작 원리 또한 거의 흡사하다.

 

<Computer Vision Algorithm of ARToolKit>

① 사용할 마커를 카메라 좌표 안에 위치한다

② 스레드홀딩 기법을 이용하여 마커이미지를 이진화한다.

③ 각 Component 들을 연결한다.

④ 윤곽선을 추출한다.

⑤ 마커의 모서리와 코너를 추출하여 마커위에 사각형을 그린다.

⑥ 3D Object를 추출된 마커 사각형 좌표에 맞춰 나타낸다.

 

ARToolKit 공식 홈페이지 : http://www.hitl.washington.edu/artoolkit/

NyARToolKit 공식 홈페이지 : http://nyatla.jp/nyartoolkit/wiki/index.php


 

NyARToolKit을 이용한 증강현실


박상근 프로그래밍/NyARToolKitCS