'2009/11'에 해당되는 글 6건

  1. 2009/11/26 OpenCV + Delphi
  2. 2009/11/20 Open Source C/C++ IDE, QT + MinGW + OpenCV (2)
  3. 2009/11/16 크라잉 넛 (Crying Nut) 6집 - 불편한 파티
  4. 2009/11/13 웹 계정에서 MySQL, WWW 데이터 백업하기
  5. 2009/11/13 무료 호스팅을 신청해서 SVN(Subversion) + XE(XpressEngine) + 이슈트래커 사용하기
  6. 2009/11/11 HBO 드라마 - 로마 2시즌

OpenCV + Delphi

PROG. 2009/11/26 22:34

어차피 DLL 인 라이브러리라 델파이에 못 붙일 것도 없죠
델파이용 DLL 헤더 만드는 일은 늘상있는 일이기도 하고요
그렇지만 전체 헤더를 몽땅 변환하는 건 정말 고되고도 재미 없는 작업입니다.
그래서 보통은 그때 그때 필요한 함수와 타입만을 끄집어 냅니다.
계속 같은 작업을 하다 보면 저절로 분량도 많아지고
같은 작업을 안하다보면 별로 쓸일이 없는 거니 굳이 전체 헤더 변환을 할필요가 없겠죠
(물론 시간만 된다면야 못할것도 없지만...)

아무튼 이번에도 그런식으로....
OpenCV 를 이용한 템플릿 매칭(Template Matching) + 소스 포함 이곳의 소스를 테스트 삼아 델파이로 컨버전 했습니다.

Source / exe / dll 포함



굳이 델파이로 헤더까지 만들어 쓸 필요가 있을까.... 싶을지도 모르겠지만

  1. 헤더 만들기가 그리 어려운게 아니고
  2. 헤더 만들다 보면 자연스럽게 함수 원형에 구조체나 자료 구조를 파악하게 됩니다.
  3. 가공할만한 델파이의 GUI 개발 능력에 편승할 수 있습니다.
  4. 특히 http://graphics32.org 와 연동하면 빠르고 화려한 GUI를 구성할수 있습니다... 그것도 무료로 (너무 오래된 거라 좀... 그렇지만... 아직까지도 몹시 쓸만합니다. MIL 에도 붙여 보았었죠)
  5. C 보다는 파스칼이 C++ 보다는 오브젝트 파스칼이 버그 유발 확률을 현저하게 줄여 줍니다.
  6. 알고리즘을 완벽히 파악한다면 GPU 활용에 쓰일 수도 있겠군요 (음 이건 C/C++도 마찬가지네)

위 샘플 이외에도 몇가지 더 돌려봤습니다.
그것들을 클래스로 단순화 / 캡슐화도 해봤고요.
꽤 쓸만합니다.

여가 시간이 많아진다면 계속 해보고 싶네요.
현업 때문에 쉽지는 않겠지만 가급적이면 OpenCV 의 사용을 줄이고 직접 알고리즘을 작성해 봤으면.... 하는데 ...




 

저작자 표시 비영리 변경 금지
tags : Delphi, DLL, OpenCV, Source
Trackback 0 : Comment 0

Trackback Address :: http://blog.nul.kr/trackback/240 관련글 쓰기

Write a comment


Open Source C/C++ IDE, QT + MinGW + OpenCV

PROG. 2009/11/20 08:30

갑자기 C/C++을 왜?

OpenCV (Open Source Computer Vision library) 를 구경하는 중....
소스만 보기 갑갑해서 델파이로 헤더 변환 노가다 해가며 테스트 하다가...
이게 뭔 삽질인가 싶어서 비용 부담 없는(GPL, LGPL, BSD, 기타 등등) C/C++ 를 찾게 되었슴.

Code::Blocks : Cross-Flatform C++ IDE
Eclipse : 유명한 자바외 기타 등등을 위한 IDE
wxWigets : Cross-Flatform UI Framework
QT : Cross-Flatform UI Framework
MinGW : GNU Compiler for Windows
BCC5.5 : Borland C++ 5.5 Compiler. 공개되었음.
RELO : Windows 용 C++ IDE

등등을 둘러보며 헤매다가 QT 로 결정

QT는 한큐에 IDE, GUI 라이브러리와 MinGW 까지 설치 되니 이보다 더 편할 수가 없다.
게다가 Nokia 에서 인수 후, 앞으로의 전망도 좋아 보임.

설치방법

1. QT SDK를 를 설치하면 IDE인 QT Creator 와 MinGW까지 같이 한꺼번에 설치됨

2. OpenCV 를 설치

3. __exchange_and_add 에 대해 에러가 나는데, 소스를 수정해야 한다. 이것 때문에 많이 헤맸음 ㅠㅠ

  • Open cxoperations.hpp (found in <Open CV base dir>\include\opencv)
  • Find this section (lines 67-68 in 2.0):
      #else
        #include <bits/atomicity.h>
        #if __GNUC__ >= 4
  • And update it to reference a new definition, __MINGW32__ (defined by the MinGW compiler, see http://predef.sourceforge.net/precomp.html#sec31):
  •   #else
        #include <bits/atomicity.h>
        #if __GNUC__ >= 4 || __MINGW32__
    http://opencv.willowgarage.com/wiki/InstallGuide

    4. 프로젝트 생성시 다음과 같이 세팅

    INCLUDEPATH += [OpenCV설치경로]\include\opencv

    LIBS += [OpenCV설치경로]\lib\libcv200.dll.a

    LIBS += [OpenCV설치경로]\lib\libhighgui200.dll.a

    LIBS += [OpenCV설치경로]\lib\libcxcore200.dll.a


     



     

    저작자 표시 비영리 변경 금지
    tags : C/C++, minGW, OpenCV, QT
    Trackback 0 : Comments 2

    Trackback Address :: http://blog.nul.kr/trackback/238 관련글 쓰기

    1. Favicon of http://ttti07.egloos.com BlogIcon 오뉴월엿가락 2010/01/07 15:58 Modify/Delete Reply

      OpenCV 설치한 뒤 cmake 가지고 별다른 짓을 할 필요는 없는 건가요?
      하긴 지금 잘 돌아가고 있는 것 같으니 그런가보네요; 정말 감사합니다. ㅎㅎ

      • Favicon of http://blog.nul.kr BlogIcon NUL 2010/01/07 17:36 Modify/Delete

        MinGW 버전에 따라 문제가 발생할 수 있고요
        VC 컴파일러를 쓴다든가...
        MinGW 버전에 문제가 없다면 건드릴게 없더라구요.

        제 경우는 PC에 깔린 MinGW가 여러개라 헷갈리는 바람에 많이 헤맸죠 -_-;

    Write a comment


    크라잉 넛 (Crying Nut) 6집 - 불편한 파티

    미디어 2009/11/16 07:00


    추석이 지난 얼마 후...
    어느 도서를 구입하려고 yes24를 뒤적이던 중..
    음반 산지도 꽤 오래되었으니, 사는 김에 음반도 사자라는 취지로 지른 CD 4-5장 중 하나가 이 크라잉넛 6집이다.
    늘 어떠한 사전 정보도 없이 나오면 일단 지르고 보는 뮤지션 리스트들이 있는데...
    10년이 넘는 세월이 흘르고 나서도 변함없이 일단 지르고 보는 뮤지션의 하나가 크라잉 넛이다.
     - 발매 정보가 어두워서 발매 후 꽤 시간이 흐른뒤에 구입하는 경우가 아주 많다...;;; -
     - 롤로 코스터는 요즘 쉬는 중이란다... 언제 나올런지.... -

    아무튼 이번에 구입한 모든 CD 중 최고의 퀄리티와 만족도를 안겨준 크라잉 넛에게 감사를 표한다

    개인적으로 14곡의 수록곡이 몽땅 다 마음에 쏙 드는 이번 앨범은 통렬하고 경쾌한 분위기의 곡이 대부분이다.

    신바람나는 조선펑크(?)에 묻혀 달려보자 ㄱㄱ

    01. Crying Nut Song
    02. 착한 아이
    03. 불편한 파티
    04. 루나
    05. 만취천국
    06. 비둘기
    07. 귀신은 뭐하나
    08. Wake Up
    09. 가련다.
    10. 가배물어
    11. Rose Bang
    12. 빈자리
    13. 생일축하.
    14. Gold Rush

    저작자 표시 비영리 변경 금지
    Trackback 0 : Comment 0

    Trackback Address :: http://blog.nul.kr/trackback/237 관련글 쓰기

    Write a comment


    웹 계정에서 MySQL, WWW 데이터 백업하기

    리눅스 2009/11/13 22:19

    1. WWW 데이터 백업

    귀찮으니 www 폴더를 통채로 빽업하자
    SSH 로 접속
    www 위의 위치로 이동(보통 cd ~ 하면 될 것이다. ls명령으로 확인)

    다음과 같이 입력하면, bkwww_날짜_시간.tgz로 백업 된다.
    tar cvfpz bkwww_`date +%Y%m%d_%H%M`. tgz www


    2. MYSQL 백업

    다음과 같이 입력하면, bksql_날짜_시간.sql으로 백업 된다.
    mysql dump > bksql_`date +%Y%m%d_%H%M`.sql


    3. 쉘에 익숙하지 않다면 스크립트를 만들어 두면 쉽다.

    vi bkwww 를 하면 bkwww파일을 편집(존재하지 않는다면 생성)한다.
    vi의 편집화면이 나타나면 다음과 같이 만든다. 위와 똑같은걸 단지 파일로 저장할 뿐이다.

    #!/bin/sh
    tar cvfpz bkwww_`date +%Y%m%d_%H%M`. tgz www

    MYSQL 백업도 마찬가지로 vi bksql 를 하면 bksql파일을 편집(존재하지 않는다면 생성)한다.
    vi의 편집화면이 나타나면 다음과 같이 만든다.

    #!/bin/sh
    mysql dump > bksql_`date +%Y%m%d_%H%M`.sql

    이제 생성(혹은 편집)한 파일이 실행 가능하도록 권한을 설정해야 한다.
    아래와 같이 입력한다.

    chmod u+x bkwww
    chmod u+x bksql

    이제 스크립트가 준비되었으니 백업하기위해선 단지 이것을실행시켜주기만 하면 된다.
    아래와 같이 한다. (현재 디렉토리의 파일을 실행한다는 의미로 ./를 붙인다)

    WWW 데이터 백업 -> ./bkwww
    MYSQL 백업 -> ./bksql

    저작자 표시 비영리 변경 금지
    tags : backup, mysql, shell, 백업,
    Trackback 0 : Comment 0

    Trackback Address :: http://blog.nul.kr/trackback/236 관련글 쓰기

    Write a comment


    무료 호스팅을 신청해서 SVN(Subversion) + XE(XpressEngine) + 이슈트래커 사용하기

    리눅스 2009/11/13 16:00

    1. http://FFHosting.net 에서 무료 호스팅 신청?

    PHP를 스크립트 언어로선택

    SVN 사용할 것임믈 명시해 주셔야 합니다.

    2. XE 설치

    너무 쉬운 XE 사용자 안내서 을 따라해 본다

    안내서에는 이슈 트래커는 없으니 XE : http://issuetracker.xpressengine.net 에서 다운로드 한다.

    필요에 따라 Wiki, board, Blog 용 모듈도 다운로드해서 설치한다.

    Textyle 블로그 : http://textyle.xpressengine.net/

    게시판 : http://board.xpressengine.net/

    위키 : http://wiki.xpressengine.net/

    안내서의 Putty 대신 FF 호스팅 관리도구 에서 웹 SSH 사용해야 한다. : http://www.ffhosting.net/ff_webssh

    (본인이 테스트 하던 곳의 방화벽 문제로 Putty SSH가 잘 안되는 듯하다)

    3. SVN 프로젝트 추가

    웹 SSH 로그인 : http://www.ffhosting.net/ff_webssh

    www 디렉토리로 이동 : cd www

    기본 저장소로 이동 (디렉토리 이름은 계정 등록시 알려주지만 아마 동일할 듯) : cd svn_repo

    프로젝트 추가 : svnadmin create [프로젝트이름]

    4. SVN 사용자 생성및 추가

    웹 SSH 로그인 : http://www.ffhosting.net/ff_webssh

    www 디렉토리로 이동 : cd www

    기본 저장소로 이동 (디렉토리 이름은 계정 등록시 알려주지만 아마 동일할 듯) : cd svn_repo

    사용자 계정 생성 : htpasswd -c .htpasswd [사용자이름]

    패스워드를 2번 물어보는데 사용할 비번을 정해서 입력하면 됨

    사용자 계정 추가 : htpasswd .htpasswd [사용자이름]

    패스워드를 2번 물어보는데 사용할 비번을 정해서 입력하면 됨

    5. SVN을 XE 이슈 트래커에 연동

    XE 의 관리자 메뉴에 들어가서 서비스 관리 - 이슈트래커 - 생성을 클릭하고 다음 항목들을 설정한다.

    프로젝트이름과 사용자아이디는 3번과 4번에서 만든 것을 사용한다.

    6. 설치 소감

    FFHosting.net은 SVN 서비스를 국내 최초로 시행하는 곳인걸로 알고있다.

    여기에 XE 의 이슈트래커 모듈을 붙임으로 해서 여타 알려진 버그 트래킹 혹은 S/W 형상 관리 시스템을 부러워할 필요가 없게 되었다.

    몰론 SVN의 연동 부분이 기존의 유명한 툴들 보다는 조금 못미치긴 하지만, 비용부담 없이 간단한 설치로 이정도의 기능을 사용 할수 있다는 것만으로도 만족스럽다.

    현재 무료 호스팅임에도 프로젝트의 갯수 제한도 없고 사용자 제한도 없다. (하드 용량에 한계가 가지 않는 이상은....)

    문제는 프로젝트별 권한 관리가 안되는 점인데, 어차피 무료 호스팅은 제약이 있는 것이 당연하고 다만, 유료 계정 사용시 어찌 지원이 될지가 몹시 궁금할 뿐이다.

    현재는 공개용 S/W 작업을 위해 무료 계정을 쓰고 있지만, 소규모로 상용 어플리케이션을 만들일이 있다면, 유료 계정을 적극적으로 이용해볼만 하다.

    현재 [트래픽/HDD 용량 1G 업그레이드] 이벤트 진행 중입니다.
    이 포스팅으로 이벤트 당첨 되어 1G의 하드용량과 트래픽을 얻었습니다. 강추 !!

    저작자 표시 비영리 변경 금지
    Trackback 0 : Comment 0

    Trackback Address :: http://blog.nul.kr/trackback/235 관련글 쓰기

    Write a comment


    HBO 드라마 - 로마 2시즌

    미디어 2009/11/11 15:01

    2009/10/22 - [미디어] - HBO 드라마 - 로마 에 이어...

    10부작을 다 보았습니다. 

    역시 재밌네요. 강추 (19금입니다.... 애들은 가라...)


    아쉬운 것은......

    꽤나 자세하게 역사를 파고들어 갔으면서도 후반부엔 대강 넘어가네요. 좀 더 길어도 될텐데 말이죠

    옥타비아누스(아우구스투스)가 너무 못되게 나오기도 하고요


    July 는 Julius Caesar, August 는 Augustus Caesar 에서 따왔다는데 대단한 부자입니다.


    .

    .

    .


    공화국을 위한, 독재를 반대한다는 명분이 있는 원로원이지만 평민들로부터는 지지가 없었죠.

    귀족들이 떼거지로 통치를 하던 왕이 독재를 하던 그들으겐 다를바가 없었으니까요.

    차라리 자신들에게 조금이나마 신경 써주고 정복사업으로 막대한 이득을 주던 Julius Caesar 를 지지하는 건 당연한 일


    요즘 현실은 기원전 로마시대의 시민들보다도 못한것 같아서 씁쓸합니다.


    저작자 표시 비영리 변경 금지
    tags : Rome, 로마, 미드
    Trackback 0 : Comment 0

    Trackback Address :: http://blog.nul.kr/trackback/234 관련글 쓰기

    Write a comment

    태그 앞에 붙여 넣습니다. -->