MAC Life2011. 2. 22. 08:51
최근까지는 데모를 멤버들이 하고 저는 뒤에서 딩가 딩가하는 역활이었습니다.
하지만 이제 멤버들이 모두 플젝에 투입되어서 데모를 제가 직접 하러 다녀야 하는 불상사가 발생되었네요 TT_TT

데모야 간단한데 문제는 Serial 포트로 컨트롤 하고 있기 때문에
데모하러 갈때 맥북 프로랑 PC NoteBook을 들고 다녀야 하는 사태가 발생했습니다.

그래서 맥북에 USB Serial 변환기를 연결해서 컨트롤 할 수 있도록 만들었습니다.
사용은 간단합니다.

아래 파일을 다운 받아서 맥북에 설치하고


연결하면 끝입니다.

사용은 여러가지 프로그램이 있지만 터미널에서 사용한다면

ls /dev/tty.*
을 입력하면 됩니다.

그러면 아래와 같이 디바이스 리스트가 쭈욱 뜹니다.

GUNDAM-NT:~ kevinim$ ls /dev/tty.*
/dev/tty.Bluetooth-Modem         /dev/tty.KevinImiPhone-Wirelessi
/dev/tty.Bluetooth-PDA-Sync      /dev/tty.usbserial-000014FA

일단 Serial 변환기 이름이 나타난 디바이스를 선택해서 포트를 열면 됩니다.

screen /dev/tty.usbserial-000014FA 115200

으로 열면 실행하는데는 문제 없습니다.

ZTERM이라는 어플로도 간단하게 연결할 수 있습니다.

http://homepage.mac.com/dalverson/zterm/

에서 다운받아서 설치하면 됩니다.


아래와 같이 설정한 뒤에 포트를 연결하면 됩니다.



최종 화면은 아래와 같습니다.

EZLinux B/D에 연결한 것입니다.






Posted by GUNDAM_IM
Hobby2009. 9. 23. 20:50
때떄로 GUI를 디자인할 일이 생기는 경우가 있습니다.
1년에 1~2회 정도는 GUI를 이것 저것 해야 하는 경우가 생기고 그것 때문에 신경을 써야 하더라구요

그때마다 M$사의 프로그램을 이용해서 해왔고
지금은 CURIO라는  MAC S/W를 이용해서 디자인을 합니다.
나름 산뜻하게 나오고, 사용법도 좋아서 애용하고 있습니다.
특히 이 프로그램은 자체적으로 PT로 바로 전환할 수 있는 점이 장점입니다.

이번에 우연히 발견한 프로그램은 좀더 원초적인 GUI Outliner 프로그램입니다.
백문이 불여 일견이라고 아래 사진을 보시면,

사용자 삽입 이미지
itunes를 손으로 그린것 으로 보이시게지만, 이것이 바로 이프로그램을 이용해서 GUI Outline을 잡은 것입니다.
Balsamiq사의 MockUp이라는 프로그램입니다.
$79에 파는 프로그램인데, 어쩌다 한번 정도 GUI 디자인하는 저보다는 자주 GUI를 디자인 하는 사람에게는 손으로 그린 이펙트가 좋기 떄문에 애용하면 좋을 것 같습니다.

사용자 삽입 이미지
 NAVI MAP을  GUI로 만든것입니다.

사용자 삽입 이미지
역시 iPHONE GUI를 도안한 화면입니다. ..

때때로 반듯반듯한 그림을 만들기 위해서
특히 칩의 Block Diagram을 3D를 이용해서 Block diagram으로 그리면 PT시에 이펙트가 정말 좋은데
이런 프로그램을 통해서 손으로 만든것 같은 블럭도 이펙트도 좋을 것 같습니다.

손으로 그린 GUI 효과는 애플 계열의 PT에서 많이 나오는데
볼때마다 편안하고 몰입감이 있다는 느낌을 줍니다.
이 프로그램은 그런 편안한 상태의 그림을 만들어 주기 떄문에 받아들이는 쪽에서 쉽게 받아들일 수 있는 좋은 효과를 얻을 수 있을 것 같습니다.

다양한 O/S를 지원하므로 O/S에는 큰 상관이 없이 사용할 수 있습니다.

'Hobby' 카테고리의 다른 글

[DQ9] 드디어 마지막 장으로....  (0) 2009.11.12
Dragon Quest IX 열랩하기  (0) 2009.11.05
건담 강림 3rd - 사진 정리  (0) 2009.09.02
건담 강림 2nd - 드디어 실물을 보러 갔습니다.  (0) 2009.08.31
이럴수가....  (0) 2009.07.17
Posted by GUNDAM_IM
ASIC SoC2009. 8. 24. 04:41
앞에서 소개해 드렸던 Scansion은 아직 버그가 있어서 사용하는데 불편합니다.
간단한 버그인데도 수정이 안되는 것을 보면, 안정화 하기에는 시간이 많이 필요할 것 같습니다.
그래도 MAC GUI 스럽다는 장점때문에 사용을 하고 있읍니다.

일단 버그 없는 것을 쓴다면 당연히 GTKWave 이죠.
정확하게는 버그가 없다기 보다 버그가 없을 확률이 Scansion보다는 높다는 점이겠군요

맥에서 설치하는 방법은
2가지 방법을  중 하나를 선택해서 할 수 있습니다.

소스를 빌드하는 것과 mac ports를 사용하여 설치하는 것인데요
이래저래 손볼데가 많은 소스 빌드 보다는 mac port를 사용하면 쉽게 설치 됩니다.

1. 소스를 다운 받아서 빌드하는 것.

http://gtkwave.sourceforge.net/?ref=darwinports.com

에서 다운 받을 수 있습니다.

CVS를 통해서 다운 받으면 됩니다.
아래 내용을 그대로 진행합니다.

cvs -d:pserver:anonymous@gtkwave.cvs.sourceforge.net:/cvsroot/gtkwave login
[press enter]
cvs -z3 -d:pserver:anonymous@gtkwave.cvs.sourceforge.net:/cvsroot/gtkwave co -P gtkwave3


다운받아서 빌드하면 됩니다.

2.  mac port를 이용해서 다운 받는 것.

sudo port install gtkwave

위의 명령을 이용해서 설치하면 나름 열심히 빌드해서.. 진행합니다.

Password:
--->  Fetching expat
--->  Attempting to fetch expat-2.0.1.tar.gz from http://distfiles.macports.org/expat
--->  Verifying checksum(s) for expat
--->  Extracting expat
--->  Configuring expat
--->  Building expat
--->  Staging expat into destroot
--->  Installing expat @2.0.1_0
--->  Activating expat @2.0.1_0
--->  Cleaning expat
--->  Fetching gperf
--->  Attempting to fetch gperf-3.0.3.tar.gz from ftp://ftp.dti.ad.jp/pub/GNU/gperf
.........
--->  Staging gtk2 into destroot
--->  Installing gtk2 @2.14.5_0+x11
--->  Activating gtk2 @2.14.5_0+x11
--->  Cleaning gtk2
--->  Fetching gtkwave
--->  Attempting to fetch gtkwave-3.1.13.tar.gz from http://distfiles.macports.org/gtkwave
--->  Verifying checksum(s) for gtkwave
--->  Extracting gtkwave
--->  Configuring gtkwave
--->  Building gtkwave
--->  Staging gtkwave into destroot
--->  Installing gtkwave @3.1.13_0
--->  Activating gtkwave @3.1.13_0
--->  Cleaning gtkwave

설치가 끝나면 다음과 같이 실행합니다.

gtkwave -f wavefilename

다음은 실행한 결과 그림입니다.

사용자 삽입 이미지

UI가 MAC 스럽지 않기 때문에 맘에 안들지만, 그래도 버그는 없을 것으로 생각합니다.





'ASIC SoC' 카테고리의 다른 글

SystemC에서 typdedef과 switch사이의 관계  (0) 2009.09.25
SystemC : Thread 2nd  (0) 2009.08.26
SystemC : Thread  (0) 2009.08.21
Sound Engine Processor  (0) 2009.08.18
맥에서 SystemC 하기  (0) 2009.08.10
Posted by GUNDAM_IM
MAC Life2009. 8. 7. 11:49
여기 SIGGRAPH에 와서 가장 기분 좋은 일은 생각 이상으로 많은 사람들이 맥을 쓴다는 것입니다.
원래 SIGGRAPH가 그래픽 전문 컴퍼런스인 점도 있겠지만, 이곳 전시장에서는 전체 컴퓨터 사용 인구중에서 맥을 사용하는 인구가 대략 과반수 이상이 맥을 씁니다.

대충 느낌으로 말한다면

맥북프로  40%  맥북 20% 그리고 나머진 윈도우 정도가 됩니다.

60% 정도 이상은 맥을 쓰고 있다는 의미입니다. 재미있는 점은 맥북에어가 하나도 안보인다는 점입니다.
아무래도 "가오"는 최고인데 성능 때문에.. 외면받는느낌일듯 합니다.


맥은 노트북을 열면 동일 네트웍에 뜬 맥을 보여줍니다.
아래 그림은 컨퍼런스 안에 있는 스타 벅스 커피샾의 네트웍에서 잡은 맥의 네트웍입니다.

사용자 삽입 이미지
정말 많이 잡히죠.. 동그란것은.. 윈도우이고 맥 그림이 나타나는 것은 전~~~~부.. 맥입니다.

사용자 삽입 이미지

중국 아저씨께서, 맥을 열심히 보고 있습니다.
사용자 삽입 이미지

뭔가 포스 있는 분이.. 맥으로 타이프를 치고 있습니다. 뒤에서 슬쩍 볼려고 했지만, 자세히는 보지 못했습니다.


사용자 삽입 이미지


두사람이 각각 맥으로 뭔가를 하고 있습니다.
이런 광경은 이곳에서 정말 흔합니다.

그리고 이런것만 있는게 아닙니다.
사용자 삽입 이미지

강의 자료중 상당부분이 맥으로 만들어왔더군요
눈의 가시같은 PPT도 가끔 있긴 하지만 대부분은 그림이나 폰트가 깔끔하게 나오는 맥을 이용해서 PT를 하고 있습니다.
  중간에 발표자가 바뀔때 나타난 화면이 맥 화면이었습니다.

우리나라에서는 마이너한 생활을 하는 맥이지만, 이곳에서는 나름 주류 생활을 하는 분위기여서 정말 좋습니다.
우리도 얼렁 이런 문화가 되어야 하는데...

'MAC Life' 카테고리의 다른 글

산호세 애플샵  (0) 2010.02.28
MAC에서 Perl/Tk 컴파일하기  (0) 2009.11.20
CUDA on MAC OS  (0) 2009.06.23
맥에서 프로파일링 하기  (0) 2009.06.18
OSX용 YUV Player 입니다.  (0) 2009.06.16
Posted by GUNDAM_IM
ASIC SoC2009. 7. 20. 09:52
이번에는 툴 체인을 빌드합니다.
언제나 그렇듯이 맥에서 빌드합니다.
빌드하다가 발생하는 에러는 이번 케이스의 경우에는 맥에 한정된 것으로 보입니다.
맥의 경우 폴더를 파일로 보여주기 때문에 (윈도우즈만 사용하시는 분은 이게 뭔말인지 잘 모르시겠지만.. )
발생하는 문제점입니다.

윈도우즈나 리눅스에서는 별다른 문제가 없을 것으로 생각됩니다.


(1) 툴 체인을 맥에서 빌드하기


hdl 관련된 툴 소스는 아래 명령어로 받을 수 있습니다.

git clone http://repo.or.cz/r/zpu.git

받으면 폴더는 아래와 같이 생성됩니다.


소스 코드는 다음과 같이 다운 받을 수 있습니다.
git clone git://www.ecosforge.net:8100/zpu/toolchain.git

다운 받으면 빌드를 하면 됩니다
다운 받은 폴더는 다음과 같은 구조로 되어 있습니다.

/toolchain/binutils
      /dejagnu
              /gcc
              /gdb
              /testresult

입니다.

빌드는 toolchain에서.. build.sh로 하면 됩니다.
이넘을 아예 제공해주더군요
이넘은 Binutils와 GCC를 빌드해줍니다.
GDB는 따로 빌드해야 합니다.

빌드를 하면 다음과 같은 오류가 발생합니다.


1.  binutils/bfd


configure: error: installation or configuration problem: C compiler cannot create executables.

make: *** [configure-bfd] Error 1


C 컴파일러가 워킹을 하지 못해서 발생한 오류입니다.


추적하여 가면 다음과 같은 명령어에서 동작을 하지 못함을 알 수 있습니다.


 gcc -o conftest.dSYM -g -O2   conftest.c  1>&5


중간에 conftest.dSYM을 만들어 내는데 이것이 문제입니다.


log 파일을 보면

checking for executable suffix

에서 dSYM을 찾아 붙입입니다.


테스트를 위해서 덤프 코드를 넣어서 수행해보면 아래와 같은 사항을 확인할 수 있습니다.


checking for executable suffix... (cached) .dSYM

[4] .dSYM


그럼 문제는 .dSYM이 만들어지는 것에 있네요.. 이것은 MAC에서 사용하는 파일-폴더 확장자입니다.


이 코드는 bfd/configure : 2441라인에서 시작하는 부분에 해당합니다.


코드를 확인해보면

시그윈이거나 윈도우즈 일때는 .exe를 붙이고

아닐때는 스크립트에 의해서 찾아서 붙이도록 되어 있습니다.


일일이 코드 고치기도 귀찮으니까

그냥 exeext 를 강제로 “”로 매핑시켜 버립니다.


그러면 컴파일이 진행됩니다.

진행되면서 같은 오류가 발생한는데 그때마다 강제 매핑을 하고 진행하면 됩니다.

몇군데 매핑시켜놓고 진행하면 mac에서도 잘 컴파일이 됩니다.

- 4군데 정도 되네요..


2.gcc를 빌드하다가..

..........

vmodsi4.o libgcc/./_mulsi3.o libgcc/./_xordi3.o libgcc/./unwind-dw2.o libgcc/./unwind-dw2-fde.o libgcc/./unwind-sjlj.o libgcc/./gthr-gnat.o libgcc/./unwind-c.o libgcc/./_eprintf.o libgcc/./__gcc_bcmp.o

make[2]: zpu-elf-ar: Command not found


에서.. 에러가 발생합니다.


env.sh를 실행을 시켰는데 아닌것 같습니다.

확인해 보니 실행하는게 아니고 source  하는거네요


source env.sh


로 해서 매핑시키고 다시 환경 변수를 확인해 보니 잘 들어갑니다.


set

.......


PATH=/sw/bin:/sw/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin:/usr/X11R6/bin:/Users/kevinim/Desktop/zylin/toolchain/toolchain/install/bin

......

다시 컴파일 하면 됩니다.





(2) 컴파일러 테스트


간단한 C 코드를 만들어서 테스트를 확인해 보도록 하겠습니다.

코드는 아래와 같습니다.

#include <stdlib.h>

main()
{
  printf("GUNDAM forever!!");
}

컴파일하여 어셈블러를 만들어보겠습니다.

Macintosh:test1 kevinim$ zpu-elf-gcc -S -O2 test.c


어셈블러 파일은 아래와 같습니다.

        .file   "test.c"
        .section        .rodata.str1.4,"aMS",@progbits,1
        .balign 4;
.LC0:
        .string "GUNDAM forever!!"
.text
        .globl  main
        .type   main, @function
main:
        im -1
        pushspadd
        popsp
        im .LC0
        storesp 4
        impcrel (printf)
        callpcrel
        loadsp 4
        im _memreg+0
        store
        im 3
        pushspadd
        popsp
        poppc
        .size   main, .-main
        .ident  "GCC: (GNU) 3.4.2"

Posted by GUNDAM_IM
MAC Life2009. 6. 18. 23:30
맥에서 프로파일링을 하는 것에 대해서 설명합니다.
맥은 프로파일링 툴로서 SHARK라는 툴을 제공합니다.

Shark는 XCODE에서도 사용할 수 있지만 Command Line에서도 사용할 수 있습니다.

그리고 아무렇게나 띄워 놓고, O/S 상에서 돌아가는 태스크 중에서 선택해서 프로파일링 을 할 수 있습니다.
이번에는 3번째 방법인 아무렇게나 띄워 놓고 필요한 프로그램을 프로파일링 하는 것에 대해서 설명합합니다.
나머지 2개는 나중에 필요해지면 그때 가서 진행하도록 하겠습니다. - 그때 공부해서 하겠습니다. ㅋㅋ

일단 Shark는 /Application 폴더 있지 않고 /Developer 폴더에 있습니다.

/Developer/Applications/Performance Tools/shark

입니다.

사용자 삽입 이미지

실행하면 위와 같은 간단한 창이 뜹니다.

제일 왼쪽에 시작 버튼이 있고요, 제일 오른쪽에 실행에 대한 방식을 선택하는 Combo Box 입니다.

사용자 삽입 이미지
그 콤보 박스에서 제일 위에 있는 Launch를 선택합니다. 이후에는..
자동으로 실행하면 됩니다.

시작 버튼을 누르면 다음과 같은 창이 나옵니다.

사용자 삽입 이미지
칸을 하나하나 설명하면,
제일 위의 Executable은 실행 프로그램을
Working Dir은 실행 폴더를
Arguments는 옵션을 줍니다.

일단 다음과 같이 설정합니다.

사용자 삽입 이미지
Application : /Users/kevinim/Documents/etri_svc/JSVM/jsvm/bin/AvcRewriterStaticd
Working Dir : /Users/kevinim/Documents/etri_svc/JSVM/
Arguments : output/Coral.svc.264 output/Coral.svc.avc.2.264

으로 설정합니다.

이것은 환경에 따라 틀리므로 적당하게 설정하시고
시작 버튼을 누르면 한참 진행한 후에 결과가 나옵니다.

사용자 삽입 이미지
위의 그림은 작업이 끝난 후에 결과를 분석하는 과정입니다.
그냥 자동으로 수행됩니다.

이후에 각 함수별로 잘 정리된 그림이 나옵니다.

사용자 삽입 이미지
그리고 위의 창에서 Chart TAB을 선택하면 다음과 같은 그림이 나옵니다.

사용자 삽입 이미지
왼쪽의 그래프는 Call Stack Depth를 표시해 줍니다. 얼마나 함수가 호출되어 왔는지에 대한 정보를 보여줍니다.
이중에서 제일 깊이 된것 중에 하나를 선택하면 창의 오른쪽에 그에 해당하는 Call Stack Frame을 보여줍니다.

사용자 삽입 이미지
위의 그림은 Call Stack에 대한 그립니다.
더블 클릭하면 해당 함수로 들어갑니다.

사용자 삽입 이미지
창의 왼쪽 밑에 보면 확대 축소를 컨트롤하는 슬라이드 버튼이 있습니다. 이것으로 확대를 하면 아래와 같은 그림이 나옵니다.


사용자 삽입 이미지
세로로 노란색 부분이 선택한 호출 부분이고 가로로 노란색이 부하가 가장 많이 걸리는 함수 등에 대한 부분입니다.


다시 프로파일 창에 들어가서

로드가 많이 걸리는 함수를 찾아서 더블클릭하면 다음과 같이 창이 됩니다.

사용자 삽입 이미지
소스만 보는 창이고, 어셈블를 본다든지 두개 다 보는 것도 가능합니다.
물론 이렇게 까지 볼일이 없겠지만 하여튼 유용하기도 합니다.

사용자 삽입 이미지
위의 창은 어셈블러와 C를 같이 보여주는 창입니다.

인라인 함수로 메모리를 모두 0으로 초기화 시키는것에 생각보다 시간이 많이 걸리는 것을 알수 있습니다.

그리고 컬럼에서 [!] 로 표시된 컬럼이 있습니다. 이것은 최적화에 대한 정보를 알려주는 컬럼입니다.

사용자 삽입 이미지
위에서 보는 것 처럼 함수가 작고 자주 호출하는 것은 인라인으로 해보는게 어떻겠냐고 알려줍니다.

실제 코드는 2가지 타입이 있는데, 디버깅 정보가 포함된 버전과 아닌 일반 버전이 있습니다.
양측간에 차이점이 있고 이로 인해서 프로파일링 결과가 조금씩 차이가 나는 것을 감안하고 보면
도움이 됩니다.

코드 최적화는 다른 문제여서 그것은 언젠가 기회가 되면 다시 설명하도록 하겠습니다.
여기서는 코드 최적화 할일이 없어서요..




'MAC Life' 카테고리의 다른 글

SIGGRAPH [2]  (0) 2009.08.07
CUDA on MAC OS  (0) 2009.06.23
OSX용 YUV Player 입니다.  (0) 2009.06.16
나의 다섯번째 애플~~  (1) 2009.03.30
맥에서 개발한다는 것은..  (0) 2009.03.19
Posted by GUNDAM_IM
MAC Life2009. 6. 16. 08:13
OSX에서 구동할 수 있는 YUV 플레이어입니다.

출처가 어디있는지는 링크를 안걸어 두어서 잊었지만,
인터넷 키워드 서치하면 나옵니다.

{

  나중에 따로 서치하여서
  이곳을 찾았습니다.

  http://bax.comlab.uni-rostock.de/en/projects/glyuvplay.html?type=http%3A%2Fappserv%2Ferrors.php%3Ferror%3Dhttp%3A%2F%2Fwww.saa-web.de%2Fball%3F%3F%3F

}

용법은 간단하지만,
사용하는데에는 불편함이 없습니다.

특히 영상을 적당한 사이즈로 스케일링하여 보여주기 때문에
1080p와 같은 커다란 이미지도 볼 수 있습니다.

이 기능은 1080p에서는 꼭 필요한 기능이죠..

사용자 삽입 이미지

이미지를 선택하는 그림입니다.
다양한 포멧을 선택할 수 있습니다.

사용자 삽입 이미지

플레이 중인 화면입니다.

사용자 삽입 이미지

FPS등을 세팅할 수 있습니다.

기능이 나름 쓸만합니다.


이 프로그램의 원본 사이트입니다.
http://bax.comlab.uni-rostock.de/en/projects/glyuvplay.html
- 현재 (2011/10/1) 최신 버전은 0.96입니다.
 

'MAC Life' 카테고리의 다른 글

CUDA on MAC OS  (0) 2009.06.23
맥에서 프로파일링 하기  (0) 2009.06.18
나의 다섯번째 애플~~  (1) 2009.03.30
맥에서 개발한다는 것은..  (0) 2009.03.19
수치스러운 인터페이스의 명예의 전당  (0) 2009.03.05
Posted by GUNDAM_IM
MAC Life2009. 3. 19. 13:52

사실대로 말하자면, 맥에서 개발하는 것은 C/C++ 프로그램 정도입니다.

GUI가 필요하면 QT를 불러서 해결하지 코코아 라이브러리 부르지 않습니다.


일반 터미널에서 코딩하는 정도여서 윈도우즈에서 시그윈을 써서 개발하는 것과 큰 차이는 없습니다.

맥용 인텔 컴파일러를 써서 빠르다고 하여도, 리눅스용이나 윈도우즈 용이 없는 것도 아니고..


더구나 VTUNE이 매킨토시 용은 없기 때문에 프로파일링 하기에는 오히려 불편하지요...


마지막엔 개발이 다 끝나면 호환성 문제로 윈도우즈나 리눅스용으로 다시 옮겨야 하기때문에 복잡한 시스템 함수는 가급적 배제하고 코딩합니다.


일전에 H.264 SVC 프로그램을 맥북 프로에서 인터넷에서 구한 소스 코드 그대로 컴파일하여 테스트 해보았습니다.

그 결과 윈도우즈 시그윈에서 컴파일한것 보다 2배 정도 빨라졌습니다. 소스는 거의 손도 안되었는데 말이죠.


거짓말이라고 생각하시는 분들은 한번 맥에서 컴파일 해보세요 정말 빠르거든요.


물론 이것은 쓰레드를 잘 지원하는 MAC OS의 능력에 힘입은 바가 큽니다.


주요 Job인 ASIC 설계용 프로그램들은 대부분 서버에서 동작하니까 서버를 불러오면 되는거라서

결국 맥에서는 맥다운 프로그램을 하지 못하는 게 되네요


그럼 맥을 개발 시에는 언제 쓸까요 ?


우선 C/C++을 이용해서 대용량 그래픽 처리 시스템을 개발할때 쓰면 정말 좋아요.

플랫폼이 인텔 플랫폼과 완전히 틀려서 속도 잘 나옵니다.

QT하고 OpenCV를 써서 GUI하고 그래픽 처리를 하게 하니, 속도 잘 나옵니다.


이런 경우외에는 그닥.. 쓸만한데가


아, 하지만 누가 뭐래도 가장 큰 만족은 “가오” 이펙트..

폼생 폼사 맥으로 사는 것이 그래서 결국은 “가오” 이펙트가 커서 입니다.


왜 "가오"라고 이야기하냐 하면은..


그 외에도 맥이 안정성이 뛰어나고 GUI가 정말 유저 "쁘랜드리" 하다고 하여도, Mail.app가 가지는 편리함이 이렇쿵 저렇쿵, iCAL이 얼마나 좋은지.. 써보지 않고는 알수 없는거라서


내가 코딩한 프로그램이 얼마나 빨리 도는지 설명을 하여도 믿지 않아서.. (T  T)


그냥 사람들에게 이야기할 때는 가오라고 이야기합니다. (OTL)

그래야 "맥을 써보지도 않은" 사람들이 납득하더라구요.

그런사람들에게 침이 튀도록 이야기해도 잘 안되기 때문에 더욱 그렇습니다.


제발 "써보고" 아니라고 이야기해주면 좋을텐데 말이죠


지금은 VMWare같은 윈도우즈 에뮬레이터 위에서 Window툴을 돌리고,
서버에서 엑스 윈도우 띄워서 돌리고
맥에서는 자료 정리하고, C코딩하고 그러면서 진행합니다.

흠.. 그러고 보니 정말 맥용 프로그램은 없네요.

맥 프로그램 배울 시간에 아이폰 프로그램을 한번 해볼까 생각중입니다.

'MAC Life' 카테고리의 다른 글

OSX용 YUV Player 입니다.  (0) 2009.06.16
나의 다섯번째 애플~~  (1) 2009.03.30
수치스러운 인터페이스의 명예의 전당  (0) 2009.03.05
Culture Code의 개발 이미지  (0) 2009.01.28
맥에서 히든파일 보기  (0) 2009.01.23
Posted by GUNDAM_IM
Computer Vision2009. 1. 6. 08:53

MAC에서 OpenCV를 컴파일 하기


맥에서 OpenCV를 컴파일 


http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port


이 페이지를 참조로 따라가면서 컴파일한다.




1. 시작은 OpenCV의 위키 페이지에서 시작한다.

   

    http://opencv.willowgarage.com/wiki/


   여기에서 올려져 있는 글을 찬찬이 읽어보면 많은 도움이 된다.


2. Learning OpenCV: Computer Vision with the OpenCV Library

  • by Gary Bradski and Adrian Kaehler, O'Reilly Press, October, 2008.
  •    
  •    책으로 잘 나온 것은 오라일리의 책입니다. 사실상 매뉴얼이라고 생각되고요,  OpenCV사이트에서도
  •    매뉴얼 대신으로 추천해주는 책입니다.

3.   다운로드는 SVN으로 한다. 


     http://sourceforge.net/svn/?group_id=22870

 

     페이지에 가면 다운 받을 수 있는 커맨드가 있다. 이것을 이용하여 다운 받는다.


    svn co https://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary opencvlibrary


  이 커맨드는 전체를 모두 다운 받는 것이다. 전체라 함은 브랜치라던가 프리베타 버전과 같은 불필요한 부분까지 모두 다운 받은 것을 말합니다.

   처음에는 폴더 구조 가은 것을 잘 모르므로, 그냥 한번 정도는 다운 받아 폴더 구조를 보는 것도 도움이 된다.


   위의 커맨드를 넣으면 OpenCV를 다운 받을 수 있다.


   아래 사이트에서도 다운 받을 수 있다. 


   http://sourceforge.net/project/showfiles.php?group_id=22870


   이 글을 쓰는 현재 시점에서 최신 버전은 1.1pre 버전이다.


   여기서는 후자인 tar파일을 직접 다운받아서 진행한다.


   


4. compile

    일단 다른 폴더에서 빌드를 한다.

    

     mkdir build

     cd build

     ../opencv-1.1.0/configure CPPFLAGS="-I/opt/local/include" LDFLAGS="-L/opt/local/lib"



      make


     한참을 컴파일 하고 끝난다.


   sudo make install


      끝나면 위와 같이 인스톨을 한다.

     

5. 테스트 해보기

     

    인스톨이 끝나면 다음과 같이 확인을 해 볼 수 있다.


    샘플용 소스 코드를 다운 받는다. 

    일일이 코딩하기 귀찮으므로 그냥 간단히 다운 받는다. 

    인터넷에서 OpenCV sample을 서치하면 아래 사이트를 발견할 수 있다.


    http://www.netaro.info/techinfo/OpenCV/src/index.html


    여기에 가면 적당한 예제가 있다. 다운 받은 폴더에 가면 ZIP파일로 되어 있고 이것을 압축을 푼다.


    컴파일을 하면 다음과 같은 오류가 발생한다.


GUNDAMMACPRO:edgedetect kevinIm$ make

gcc -c -g -Wall sampleEdge.c

gcc -o simpleedge sampleEdge.o -lhighgui -lopencv

ld: library not found for -lopencv


   Makefile 을 보면 몇가지 잘못된 옵션이 있다. 버전차이라고 생각된다.. 일단 Makefile을 아래와 같이 수정한다.


   gcc -o simpleedge sampleEdge.o -L/usr/local/lib -lhighgui -lcv -lcvaux -lcxcore


   == WAS == 

  LDFLAGS = -lhighgui -lopencv -L/usr/local/lib


   == IS ==

  LDFLAGS = -lhighgui -lcv -lcvaux -lcxcore -L/usr/local/lib


   그리고 컴파일하면 다음과 같이 나온다.


GUNDAMMACPRO:edgedetect kevinIm$ make

gcc -c -g -Wall InteractiveEdgeDetect.c

InteractiveEdgeDetect.c:18: warning: ‘ltval’ defined but not used

InteractiveEdgeDetect.c:19: warning: ‘htval’ defined but not used

gcc -o intedge InteractiveEdgeDetect.o -lhighgui -lcv -lcvaux -lcxcore -L/usr/local/lib


   실행은 간단하게 해본다.

 

아래 그림은 실행한 결과이다. 

윤곽선을 추출하는 예제이다.


사용자 삽입 이미지


사용자 삽입 이미지

'Computer Vision' 카테고리의 다른 글

Rob Hess의 SIFT [3]  (2) 2009.02.23
Rob Hess의 SIFT [2]  (0) 2009.02.18
Rob Hess의 SIFT [1]  (1) 2009.02.16
XcodeでOpenCV開発  (0) 2009.01.03
파노라마 구성하기  (0) 2009.01.03
Posted by GUNDAM_IM
Computer Vision2009. 1. 3. 23:36
이번에 발견한 것은 OpenCV의 개발 환경을 XCODE에 통합하는 것입니다.  요기를참조

일본 사이트이고요.. .일본은 그나마 맥 환경이 우리보다는 좋아서 이런 저런 내용이 많이 있습니다.
일본어를 모르셔도.. .그림만 따라가면 해볼 수 있습니다.

요새는 일본 애니와 망가의 영향으로 일본어는 제 2 외국어가 아니기 땜에, 
큰 부담은 없으리라 생각합니다. 


'Computer Vision' 카테고리의 다른 글

Rob Hess의 SIFT [3]  (2) 2009.02.23
Rob Hess의 SIFT [2]  (0) 2009.02.18
Rob Hess의 SIFT [1]  (1) 2009.02.16
MAC에서 OpenCV를 컴파일 하기  (0) 2009.01.06
파노라마 구성하기  (0) 2009.01.03
Posted by GUNDAM_IM