Programming/openCV2012. 2. 12. 09:34
2.0.0 으로 추측된다.
$ vi /usr/include/opencv/cvvar.h
#ifndef _CVVERSION_H_
#define _CVVERSION_H_

#define CV_MAJOR_VERSION    2
#define CV_MINOR_VERSION    0
#define CV_SUBMINOR_VERSION 0

#define CVAUX_STR_EXP(__A)  #__A
#define CVAUX_STR(__A)      CVAUX_STR_EXP(__A)
#define CV_VERSION          CVAUX_STR(CV_MAJOR_VERSION) "." CVAUX_STR(CV_MINOR_VERSION) "." CVAUX_STR(CV_SUBMINOR_VERSION)

#endif /*_CVVERSION_H_*/ 

2012년 2 12일 현재 openCV의 최신 버전은 2.3.1 이며 2011년 9월 12일에 업로드 되었다.
[링크: http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.3.1/]

'Programming > openCV' 카테고리의 다른 글

openCV 글씨 쓰기 예제  (2) 2012.02.12
Cmake로 openCV 컴파일 설정 및 설치하기  (0) 2012.02.12
우분투에서 openCV 카메라 영상받기 예제  (0) 2012.02.04
우분투에서 openCV 설치하기  (0) 2012.02.04
openCV  (0) 2012.02.04
Posted by 구차니
컴파일러는 니 손이랑 머리 보다 빨러!






소스 보고 분석하기 보다는
일단 붙여서 에러나는거 보고 수정하는게 빠르지만
그래도 분석하겠다고 일일이 따라서 추적하는 날 보며 또 다시 좌절 ㅠ.ㅠ 

'Programming > 소프트웨어 공학' 카테고리의 다른 글

MVC - Model / View / Contoller  (0) 2014.04.19
디자인 패턴 - singleton  (0) 2014.04.02
간트차트  (0) 2012.01.31
리팩토링 (refactoring)  (0) 2012.01.15
SRS / SDS  (0) 2011.06.20
Posted by 구차니
Programming/Java2012. 2. 6. 21:09
머 이렇게 생겼군!

일단 이 예제에서 눈에 들어온 내용은,
XML을 탐색하기 위해서는 정형화된 XML 이름이 구조적으로 있어야 한다는 것.

<?xml version="1.0"?>
<company>
	<staff>
		<firstname>yong</firstname>
		<lastname>mook kim</lastname>
		<nickname>mkyong</nickname>
		<salary>100000</salary>
	</staff>
	<staff>
		<firstname>low</firstname>
		<lastname>yin fong</lastname>
		<nickname>fong fong</nickname>
		<salary>200000</salary>
	</staff>
</company>

element가 달라져도 상관은 없지만, 프로그램에 일일이 xml의 element 이름을 바꾸어 줘야 하니까
그래서는 xml을 쓰는 의미가 많이 희석이 된다.(데이터와 구현을 분리하는 의미가 없어지니)

[링크 : http://www.mkyong.com/java/how-to-read-xml-file-in-java-dom-parser/]
    [링크 : http://docs.oracle.com/javase/1.5.0/docs/api/javax/xml/parsers/DocumentBuilder.html]
    [링크 :  http://docs.oracle.com/javase/1.5.0/docs/api/org/w3c/dom/Document.html]
    [링크 :  http://docs.oracle.com/javase/1.5.0/docs/api/org/w3c/dom/Element.html]
 
Posted by 구차니
Programming/openCV2012. 2. 4. 22:32

$ cat opencv.c
/**
 * Display video from webcam and detect faces
 */
#include <stdio.h>
#include <opencv/cv.h>
#include <opencv/highgui.h>
 
CvHaarClassifierCascade *cascade;
CvMemStorage            *storage;
 
void detectFaces( IplImage *img );
 
int main( int argc, char** argv )
{
    CvCapture *capture;
    IplImage  *frame;
    int       key;
    char      *filename = "haarcascade_frontalface_alt.xml";
 
    /* load the classifier
       note that I put the file in the same directory with
       this code */
    cascade = ( CvHaarClassifierCascade* )cvLoad( filename, 0, 0, 0 );
 
    /* setup memory buffer; needed by the face detector */
    storage = cvCreateMemStorage( 0 );
 
    /* initialize camera */
    capture = cvCaptureFromCAM( 0 );
 
    /* always check */
    assert( cascade && storage && capture );
 
    /* create a window */
    cvNamedWindow( "video", 1 );
 
    while( key != 'q' ) {
        /* get a frame */
        frame = cvQueryFrame( capture );
 
        /* always check */
        if( !frame ) break;
 
        /* 'fix' frame */
//      cvFlip( frame, frame, -1 );
        frame->origin = 0;
 
        /* detect faces and display video */
        detectFaces( frame );
 
        /* quit if user press 'q' */
        key = cvWaitKey( 10 );
    }
 
    /* free memory */
    cvReleaseCapture( &capture );
    cvDestroyWindow( "video" );
    cvReleaseHaarClassifierCascade( &cascade );
    cvReleaseMemStorage( &storage );
 
    return 0;
}
 
void detectFaces( IplImage *img )
{
    int i;
 
    /* detect faces */
    CvSeq *faces = cvHaarDetectObjects(
            img,
            cascade,
            storage,
            1.1,
            3,
            0 /*CV_HAAR_DO_CANNY_PRUNNING*/,
            cvSize( 40, 40 ) );
 
    /* for each face found, draw a red box */
    for( i = 0 ; i < ( faces ? faces->total : 0 ) ; i++ ) {
        CvRect *r = ( CvRect* )cvGetSeqElem( faces, i );
        cvRectangle( img,
                     cvPoint( r->x, r->y ),
                     cvPoint( r->x + r->width, r->y + r->height ),
                     CV_RGB( 255, 0, 0 ), 1, 8, 0 );
    }
 
    /* display video */
    cvShowImage( "video", img );
} 

[링크 :  http://nashruddin.com/OpenCV_Face_Detection]
[링크 : http://opencv.willowgarage.com/wiki/FaceDetection]  

$ gcc opencv.c -o opencv -lcv -lhighgui
$ ./opencv  

인식이 좀 느려서 잘은 모르겠지만 뒤집히면 얼굴을 인식하진 못한다. 
(컴퓨터가 느려서 캡쳐하다가 밀림 ^^; 아무튼 인식하면 저렇게 빨간색 박스가 쳐진다.)
(화면색이 이런건 IR 카메라로 개조한 녀석이라.. OTL)

위에서 cvFlip() 함수를 주석처리 하면 상하 반전이 되지 않고 제대로 나온다.
[링크 : http://nashruddin.com/OpenCV_Examples_Part_2]


 

[링크 : http://www.mediafire.com/?01434w7wwe1db11] haarcascade_frontalface_alt.xml 파일
 

'Programming > openCV' 카테고리의 다른 글

Cmake로 openCV 컴파일 설정 및 설치하기  (0) 2012.02.12
ubuntu opencv 패키지 버전 정보  (0) 2012.02.12
우분투에서 openCV 설치하기  (0) 2012.02.04
openCV  (0) 2012.02.04
openCV OCR 예제  (0) 2011.07.17
Posted by 구차니
Programming/android2012. 2. 4. 21:36
eclipse에서 ADT plugin을 설치 하려는데 요런 에러가 발생 -_- 


Cannot complete the install because one or more required items could not be found.
  Software being installed: Android Traceview 16.0.1.v201112150204-238534 (com.android.ide.eclipse.traceview.feature.group 16.0.1.v201112150204-238534)
  Missing requirement: Android Traceview 16.0.1.v201112150204-238534 (com.android.ide.eclipse.traceview.feature.group 16.0.1.v201112150204-238534) requires 'org.eclipse.ui 3.6.2' but it could not be found 

 검색을 해보니 우분투에서는 갈릴레오 버전이고
현재 eclipse.org에서 받을수 있는 건 인디고 버전이다.
즉, 갈릴레오 버전이 낮아서 버전을 업해야지 가능하다는 이야기

[링크 : http://forjustin.egloos.com/1070695]
2010/08/25 - [Programming/android] - 좌충우돌 안드로이드 개발환경 설치하기 - 캡쳐하나 때문에 이 고생이라니! 
Posted by 구차니
Programming/openCV2012. 2. 4. 21:19
2012년 2월 에 포함된 녀석은 opencv 2.0 버전 같은데
별도로 opencvlibrary에서 받는게 나으려나?
[링크 : http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.3.1/]

$ apt-cache search opencv
libcv-dev - development files for libcv
libcv4 - computer vision library
libcvaux-dev - development files for libcvaux
libcvaux4 - computer vision extension library
libhighgui-dev - development files for libhighgui
libhighgui4 - computer vision GUI library
opencv-doc - OpenCV documentation and examples
python-opencv - Python bindings for the computer vision library
harpia - Image Processing/Computer Vision Automatic Prgm. Tool 


[링크 : http://jaehwacho.springnote.com/pages/5657783]

'Programming > openCV' 카테고리의 다른 글

Cmake로 openCV 컴파일 설정 및 설치하기  (0) 2012.02.12
ubuntu opencv 패키지 버전 정보  (0) 2012.02.12
우분투에서 openCV 카메라 영상받기 예제  (0) 2012.02.04
openCV  (0) 2012.02.04
openCV OCR 예제  (0) 2011.07.17
Posted by 구차니
Programming/openCV2012. 2. 4. 14:54
CV는 Computer Vision이라 하여 컴퓨터를 통해 영상인식을 하는 학문이고
openCV는 이녀석을 손쉽게 사용할 수 있도록 개발된 라이브러리의 모음이다.

심심해서 받아보니
OpenCV-2.3.1-win-superpack.exe 127MB 짜리가 압축을 풀어서 1.2GB 정도를 차지한다 -_-
많이 업그레이드 되어서 안드로이드 / mac / win / python / gpu 등을 지원한다.
아무튼 openCV / openCL 의 합작은 꽤나 고무적인 방향인데 언제 공부하나 ㅠ.ㅠ


[링크 : http://sourceforge.net/projects/opencvlibrary/ ] << library download
[링크 : http://opencv.willowgarage.com/wiki/ ] << openCV 공식
[링크 : http://letzrock.tistory.com/199 ]  
Posted by 구차니
프로젝트 진척률을 표현하는 좋은방법중에 하나로 간트 차트라는 것이 있다.
이름은 몰라도 그림을 보면 아~! 하는 바로 그 녀석이다.


아무튼, 프로젝트 스계줄을 달라고 하셔서 간트차트로 만들려니 엑셀도 노가다 파워포인트도 노가다 -_-
2012/01/31 - [Microsoft/Office] - ms office excel을 이용한 간트차트

gnome에서 지원하는 planner
ganttproject
openproj(ms project 호환) 정도가 있으니 어떤 OS에서도 골라서 쓰는 재미!

[링크 :  http://www.ilovepc.co.kr/bbs/board.php?bo_table=software&wr_id=310]
    [링크 :  http://www.ganttproject.biz/
    [링크 :  http://sourceforge.net/projects/openproj/

'Programming > 소프트웨어 공학' 카테고리의 다른 글

디자인 패턴 - singleton  (0) 2014.04.02
매번 느끼는 서글프지만 인정하고 싶지 않은 것  (0) 2012.02.08
리팩토링 (refactoring)  (0) 2012.01.15
SRS / SDS  (0) 2011.06.20
CMMI / TMMI  (0) 2011.06.20
Posted by 구차니
Programming/lisp2012. 1. 25. 19:05
예전 학교수업시간에 쓰던 책인데 4th ed였던데 벌써 9th ed 라니...
간략하게 프로그래밍 언어중 함수적 언어에서 나오는데
막상 따라하려니 버전이 달라서 list? 이런 명령어는 먹지 않는다 -_-


내용 정리
모든 identifier는 atom이며 ' (quote) 를 통해서 list에 넣거나 함수의 식별자로서 사용이 가능해진다.
APPEND 명령은 CONS(constructor) 명령을 통해 재귀적으로 앞의 리스트에 붙이는 개념이다.




문득 lisp를 인공지능에서 사용하는 이유중에 하나가
car 명령을 통해 주어를 빼내고 cdr 명령을 통해 주어를 제외한 문장을 빼내는 식으로
동사 / 목적어 이렇게 분리를 하면서 구문 분석을 손쉽게 할 수 있기 때문이 아닐까? 라는 생각이 들었다.

[링크 : http://www.pearsonhighered.com/.../Concepts-of-Programming-Languages/9780201385960.page]

'Programming > lisp' 카테고리의 다른 글

클로져  (0) 2012.12.03
lisp는 리스트지 prefix 표기법이 아니다  (0) 2012.11.19
lisp 문법  (0) 2012.01.24
slime / lispbox  (0) 2012.01.24
우분투에서 lisp 설치하기  (0) 2012.01.15
Posted by 구차니
Programming2012. 1. 25. 18:40
연휴이고 하니 이것저것 파고 들고
마침 회사에서도 micom을 AVR에서 TI로 바꾸는 바람에 API를 보고 있는데

"내가 공부하는게 언어일까 API일까?" 라는 의문이 들었다.




솔찍히 말해서 C언어에서 배우면서 어려운 단계를 적다면
1. for 문 / while 문
2. array
3. 배열
4. 그리고 printf() scanf()

머 나오는 순서로 따지면 4번이 0 번이 될 가능성이 높은데
언어와 통합이 되어 있다고 할정도로 stdio / stdlib 가 필수적이긴 하지만
이걸 언어에 포함을 해야 할까? 라는 의문이 든다.

다른 언어들을 공부하면서도
솔찍히 파일 입출력이 없고 printf 같은 화면에 출력하는 방법이 없으면 사용이 많이 제약이 되는 것을 보면
api 자체를 (비록 언어에 통합이 되어 있는 기본 라이브러리라고 해도) 언어에 포함을 해야 할까? 라는 생각이 든다.

micom의 경우는 조금 더 심해서 하드웨어 종속적인 부분이 많이 다른데
둘다 C를 기반으로 하지만 하드웨어 핀 배열등이 다른데 이걸 언어라고 표현하지 않고 장비라고 하는 것을 보면
우리가 표현하는 언어를 배운다는 말은 실은 API를 배운다 라고 해야 하는게 맞지 않을까 라는 망상마저 드는데.. 




아무튼 새로 나오는 언어들은 오만 라이브러리들을 기본내장하고 나오는 것을 보면 언어의 정의가 바뀐것 같기도 하고.
단순하게 제어 반복문 이나 함수 / 변수 구조등만을 언어로 규정짓는 것 또한 바보같은 발상인것 같긴한데... 

'Programming' 카테고리의 다른 글

ARToolKit / openVRML  (0) 2012.12.25
윤년 계산하기  (2) 2012.05.21
TBB/IPP  (2) 2012.02.12
S language  (0) 2011.07.01
SRS Template  (0) 2011.06.19
Posted by 구차니