본문 바로가기

Programming Tips

OpenCV를 이용한 동영상 재생 간단한 예제.. OpenCV를 이용한 간단한 동영상 재생 예제 소스 입니다. Timer를 이용해서 한 프레임씩 받아오고 CvvImage로 다이얼로그의 picture control에 그려주도록 했습니다. 흠...CvCapture 구조체와 cvCaptureFromFile함수를 썼는데... avi파일 밖에 재생이 안 되는군요..cvCaptureFromAVI는 왜 따로 있는건지.. 허허~ 아~주 간단한 예제...^^;; 여러가지 영상처리 알고리즘을 좀 적용시켜 봐야겠네요... 언젠가 쓸 일이 있을게 분명함!! 더보기
OpenCV 2.0 정식버전이 나왔다... OpenCV Library 2.0 정식버전이 나왔네요... 뭐가 추가되고 어떤 부분들이 바뀌었을까나...ㅋㅋ 설치가 좀 까다로워 진 거 같던디... 다운로드 링크는 ↓ https://sourceforge.net/projects/opencvlibrary/ 더보기
ID를 이용해 해당 컨트롤의 핸들 가져오기 GetDlgItem()을 이용하면 edit, button 등등의 컨트롤이 가지고 있는 ID를 이용해서 해당 컨트롤의 핸들을 가져와 사용할 수 있습니다. 함수원형은 다음과 같습니다. HWND GetDlgItem(HWND hDlg, int nIDDlgItem); hDlg는 컨트롤을 가지고 있는 다이얼로그의 핸들이고 nIDDlgItem은 컨트롤의 ID... 반환값이 해당 컨트롤의 핸들... 사용 예) HWND h = ::GetDlgItem(m_hWnd, IDC_BUTTON1); 더보기
임의의 클래스에서 메인 다이얼로그의 포인터를 얻어오는 방법 다이얼로그 기반의 프로젝트로 작업을 하다보면 사용자가 임의로 여러가지 클래스들을 만들어 사용하는 경우가 있다. 제너릭으로 만들든 CView, CFormView등의 MFC에 정의되있는 클래스의 상속을 받아서 만들든 다양한 형태의 클래스가 만들어 질 것이다. 보통 사용자가 만든 클래스들은 메인 다이얼로그 클래스에 헤더파일을 인클루드하고 인스턴스로 만들어져 사용이 될텐데 경우에 따라 사용자가 만든 클래스에서 메인 다이얼로그의 변수나 함수들을 사용해야 할 경우가 생기게 된다. 이런 경우 메인 다이얼로그의 포인터를 얻는 방법에는 다음의 두 가지가 있다. 메인 다이얼로그 클래스 : CMainDlg 임의로 생성된 클래스 : CChild 라고 했을 때, 1. CMainDlg.h를 인클루드하고 다음과 같이 멤버변수로 등.. 더보기
MFC OpenGL 세팅하기 1. glut-3.7.6-bin.zip 파일을 다운받아 압축을 푼다. 2. glut.h, glut32.lib, glut32.dll 3개의 파일을 각각 아래의 위치에 복사해 넣는다. - glut.h : "C:\Program Files\Microsoft Visual Studio 8\VC\include\GL" - glut32.lib : "C:\Program Files\Microsoft Visual Studio 8\VC\lib" - glut32.dll : "C:\WINDOWS\system32" 3. visual studio에서 프로젝트->속성 메뉴 4. 구성속성->링커->입력 메뉴로 이동 5. 추가종속성란에 opengl32.lib glu32.lib glut32.lib glaux.lib 입력한다. 더보기
visual studio 2005에서 메세지 박스 사용시 오류 해결법 visual studio 2005에서 vs 6.0에서처럼 메세지박스를 사용하면 다음과 같은 오류가 뜨는 경우가 있다... 이때 해결방법은 메뉴의 프로젝트->속성->구성속성->프로젝트 기본값->문자집합 속성의 설정을 '설정안함'으로 하면 해결된다. ㅋ 더보기
Visual Studio의 유용한 단축키 모음~ Visual Studio에서 자주 사용되는 단축키 모음입니다. 다 쓰지는 않겠지만 몇 개 정도 알아두면 도움이 되겠지요...^^;; Ctrl + Space : 인텔리센스 출력 Ctrl + F5 : 빌드 후 프로그램 실행 F5 : Debugging 모드로 작동 F9 : Break Point Ctrl + F2 : 북마크 F2 : 북마크로 이동 F10 : Debugging 모드로 작동하되 엔트리 포인트부터 시작 Ctrl + F10 : Debugging 모드로 작동하되 커서의 위치까지 Alt + F8 : 들여쓰기 정리 Ctrl + Shite + Space : 현재 가르키고 있는 함수의 매개변수 보기 Alt + B -> E : Clean Alt + B -> R : Rebuild All Ctrl + E : 현재 괄.. 더보기
OpenCV Library의 구성. ◎ OpenCV Library 구성 주요 OpenCV Library는 크게 다음의 6가지로 나눌 수 있다. Library 분 류 cv 기본 컴퓨터 비전, 영상처리 주요 알고리즘 관련 함수 cv.h cv100.dll cvaux 전문 컴퓨터 비전 알고리즘 함수 cvaux.h cvaux.dll cxcore 영상, 행렬을 포함한 다양한 데이터 구조 지원 함수 cxcore.h(cv.h 안에 포함되어 있음.) cxcore.dll highgui GUI 관련 함수(영상 읽기, window 관련, 마우스/키보드 제어, 카메라/동영상 처리) highgui.h highgui.dll ml Machine Learning(기계 학습) 관련 함수 ml.h ml100.dll cvcam 카메라 관련 입출력, 제어 함수(DirectX .. 더보기
CString과 char*간의 변환 - CString을 char* 로 변환하기 1. memcpy 사용하기 CString str = "test"; unsigned char st[30]; memcpy(st, (unsigned char*)(LPCTSTR)str,i); 2. strcpy 사용하기 CString strData = "test"; int length = strData.GetLength(); char* st = new char[length]; strcpy(st, strData.GetBuffer(0)); 3. 형변환 사용하기 CString str; str = "test"; char* st = LPSTR(LPCTSTR(str)); - char* 를 CString으로 변환하기 CString클래스의 Format함수를 사용 char st[] = .. 더보기
Dialog에 카메라 영상 띄우는 간단한 기본소스 OpenCV를 이용해 Dialog에 카메라 영상을 띄우는 간단한 소스이다. 말 그대로 영상을 띄우기만 하는 소스이다. ㅋ 카메라 연결과 관련된 부분은 Connect_camera 함수이고 CallBack함수 내에서 IplImage구조체를 이용하여 영상 데이터를 가지고 하고 싶은 걸 맘대로 하면된다. 카메라 선택창이 뜨지 않고 PC에 기본으로 설정된 카메라와 바로 연결된다. 뭐 하나 할때마다 카메라 연결 세팅하는게 귀찮아~ㅋ 더보기