Tech/Development
-
Python으로 Alfred Workflow 만들기Tech/Development 2014. 8. 23. 17:38
Alfred의 Powerpack을 구매해서 써오고 있다. 최근 OS X 요세미티에서 Spotlight 기능이 강조될 것이라고 발표되면서, 같은 기능을 하고 있는 Alfred의 영향력이 줄어들지는 않을까하는 우려를 보았다. OS X Mavericks 때도 1Password를 보면서 같은 우려를 한 적이 있었는데, 결과적으로 1Password는 아직까지 잘 써오고 있다. Website password 등을 제외하더라도 Software serial, privacy information 등을 보관하기에 좋다. 그래서 이참에 Alfred도 단순히 Spotlight 대체로 활용하는 것 보다 더 잘 써보자는 마음이 들어서 workflow를 활용해보려고 했다. 상용구 치환 등은 이미 Snippets 등의 built-i..
-
Python에서 SIFT Keypoint 확인하기Tech/Development 2014. 5. 25. 23:54
Python에서 OpenCV 지원이 점점 훌륭해지고 있다. 예전에 C/C++에서 OpenCV로 SIFT 키포인트를 확인하려면 여러가지 세팅의 난관에 부딪혔지만 이제 Python에서는 몇 줄만으로도 확인가능하다. 갓파이썬! import cv2 import numpy as np img = cv2.imread('lena.jpg') gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) sift = cv2.SIFT() kp = sift.detect(gray,None) img = cv2.drawKeypoints(gray,kp) cv2.imwrite('lena_siftpoints.jpg',img)
-
Pragmatic한 Test-Driven DevelopmentTech/Development 2014. 4. 4. 20:52
그간 Programming 책이라곤 language syntax에 관련한 것 밖엔 읽어본 적이 없는데, 최근 들어서 SW 개발 자체에 관련한 책을 2권 읽어볼 기회가 있었다. 하나는 Pragmatic Programmer이고, 다른 하나는 Test-Driven Developement이다. 짜투리 시간에 꺼내 읽다보니 생각이 잘 나지 않아서 요즘 Pragmatic Programmer를 틈날 때 한번씩 더 읽어보고 있다. 두 책 모두 개발 목적을 향해 더 실용적인 행동을 권장하고 있다. 자칫 coding을 하다가 지엽적인 문제로 길을 잃는 나에게 매우 유익한 충고들이다. 특히나 Pragmatic Programmer의 Tracer Bullet 부분은 Test-Driven Development에서 추구하는 가치와..
-
gcc와 g++Tech/Development 2014. 1. 4. 22:46
gcc를 써야할지 g++을 써야할지 헷갈릴 때가 있다. gcc나 g++나 모두 front-end일 뿐 실제로는 컴파일러와 링커가 어떻게 동작할지 연결해주는 역할만 한다. gcc 를 쓸 경우 확장자(.c or .cc/.cpp)에 따라 C 또는 C++로 컴파일 할지 결정한다. C 라이브러리와 링크한다. 즉, 옵션을 통해 별도로 링크하지 않는 이상 C++ 라이브러리가 링크되는 일은 없다. g++를 쓸 경우 확장자(.c or .cc/.cpp)에 상관없이 무조건 C++로 컴파일 한다. 컴파일된 결과는 당연히 C++ 라이브러리와 링크된다. 아래의 예제를 보자. #include int main(void) { printf("I was compiled as %s!\n", sizeof('a') == 1 ? "C++" : ..
-
내가 사용하는 Sublime Text 설정 파일Tech/Development 2013. 11. 11. 16:49
내가 사용하고 있는 Sublime Text 3 설정 파일. Color Scheme은 Solarized Dark를, Theme는 GitHub에서 받은 Soda Dark 3을 쓰고 있다. 폰트로는 Adobe의 Source Code Pro를 쓰고 있다. Tab 사이즈는 4를, 그리고 space로 변환하도록 했다. 폭으로는 80에 줄 표시. trim_trailing_white_space_on_save을 하면, 저장시 매 줄의 마지막에 붙은 공백들을 모두 제거해준다. { "color_scheme": "Packages/Color Scheme - Default/Solarized (Dark).tmTheme", "font_face": "Source Code Pro", "font_size": 14, "highlight_m..
-
[OpenCV] Webcam 2개 연결 시, No space left on device 에러가 날 때Tech/Development 2013. 10. 10. 00:18
Stereo Matching 등을 하기 위해 카메라를 2개 연결해서 사용할 때가 있는데, 만약 라즈베리파이 등 자그마한(!) 임베디드 보드에서 구현한다면 다음과 같은 에러를 만날 수도 있다. libv4l2: error tuning on stream: No space left on device VIDIOC_STREAMON: No space left on device 이러한 에러가 발생하는 이유는 Webcam의 resolution, framerate, protocol을 USB 2.0으로 전송하기에는 너무 느리기 때문이다! 요즘 USB 3.0이 지원되기 시작하지만 아직까지 USB Webcam은 대부분 2.0 기반이며, 이러한 Webcam은 USB 3.0 포트에 연결하더라도 2.0으로 동작하게 된다. 640x4..
-
[OpenCV] Webcam을 이용해서 SIFT 매칭 예제Tech/Development 2013. 9. 14. 01:05
이전에 OpenCV를 이용해서 간단히 웹캠을 화면에 출력하는 코드 템플릿을 올렸다. 그런데, 포스팅이 심심하다는 생각이 들어서 얼굴 인식을 넣어서 포스팅을 한번 더 했었다. 2013/09/12 - [Research/Vision] - [OpenCV] OpenCV를 이용해 기본적인 Webcam 출력하기 2013/09/13 - [Research/Vision] - [OpenCV] Webcam을 이용해서 얼굴을 인식하는 간단한 예제 기왕 한 김에 이번엔 SIFT도 포스팅해야겠다고 생각했다. OpenCV에 라이브러리로 들어가 있으니 아주 쉽게 사용할 수 있다. 많이들 쓰는 lena를 DB로 써서 웹캠과 매칭되는 걸 테스트해보았다. 역시 명불허전이다. 대충 들고 있어도 매칭이 잘 된다. /* * @file ocv_c..
-
[OpenCV] Webcam을 이용해서 얼굴을 인식하는 간단한 예제Tech/Development 2013. 9. 13. 22:03
이전에 OpenCV를 이용해서 간단히 webcam에 접근하는 예제를 포스팅 한 적이 있는데, 기왕 웹캠을 띄웠으니 얼굴 인식도 추가해보기로 했다. 추가적으로 구현하는 것이 아니라 OpenCV에서 제공하는 함수를 가져다 쓰기만 하면 된다. /* * @file ocv_cam_face.cc * @brief Face detection using OpenCV with Webcam * @author http://thinkpiece.tistory.com */ #include "opencv/cv.h" #include "opencv/highgui.h" #include int main(int argc, char *argv[]) { // ------------------------------------------------..