31
Computer Vision & Pattern Recognition Lab. Computer Vision & Pattern Recognition Lab. 멀멀멀멀멀 멀멀멀멀 #1 멀 멀 멀 [email protected]

멀티미디어 정보처리 #1

Embed Size (px)

DESCRIPTION

멀티미디어 정보처리 #1. 박 찬 우 [email protected]. C++. C++ 의 특징 C : 절차 중심 언어 C++ : 객체 지향 언어 객체 (Object) 란 ? 우리가 흔히 보는 사물 , 물건 ( 자동차 , 컴퓨터 등등 ) 객체 지향 프로그래밍 시 객체를 프로그램을 구성하는 기본 단위로 해서 만들겠다는 의미. C++(Con’t). 클래스 란 ? 객체를 생성하기 위한 도구 데이터 (Variable), 함수 (Function) 을 포함. 클래스. 객체. - PowerPoint PPT Presentation

Citation preview

Page 1: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab.

Computer Vision & Pattern Recognition Lab.

멀티미디어 정보처리#1

박 찬 우[email protected]

Page 2: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 2/31

C++

C++ 의 특징 C : 절차 중심 언어 C++ : 객체 지향 언어

객체 (Object) 란 ? 우리가 흔히 보는 사물 , 물건 ( 자동차 , 컴퓨터 등등 )

객체 지향 프로그래밍 시 객체를 프로그램을 구성하는 기본 단위로 해서 만들겠다는 의미

Page 3: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 3/31

C++(Con’t)

클래스 란 ? 객체를 생성하기 위한 도구 데이터 (Variable), 함수 (Function) 을 포함

마린

변수 체력

함수

이동

순찰

공격

클래스 객체

Page 4: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 4/31

C++(Con’t)

클래스의 구현 // marine.h

class Marine{

public:int health;void move();void patrol();void attack();

}

// marine.cppvoid Marine::move(){

// 이동 구현}void Marine::attack(){

// 공격 구현}

int main(void)

{

Marine m1;

m1.move();

Marine m2;

m2.attack();

}

Page 5: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 5/31

Windows Programming

윈도우 프로그램 Event Driven 방식

Event : 사용자가 컴퓨터를 조작한 것에 의해 일어나는 사건

Page 6: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 6/31

MFC(Microsoft Foundation Class)

Microsoft 가 자체적으로 개발한 윈도우용 C++ 프로그램 라이브러리

C++ Application

MFC

Windows API

윈도우 API 를 캡슐화한 MFC

Page 7: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 7/31

MFC(Microsoft Foundation Class) (Con’t)

장점 윈도우 Application 을 만들기 위한 노력의 최소화 C 언어로 된 API 에 버금가는 실행 속도 , 코드 크기의 최소화 코드의 재사용성 향상 프로그램의 유지보수가 쉬움 프로그램을 확장 하거나 새로운 기능을 추가 하기 쉬움

Page 8: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 8/31

윈도우 프로그램 작성 단계

1. Visual C++ 프로그램을 실행한 다음 [File] 메뉴에서 [New] 항목 선택

Page 9: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 9/31

윈도우 프로그램 작성 단계 (Con’t)

2. [Projects] 탭을 선택한 다음 “ MFC AppWizard(exe)” 를 선택 . Location 상자에서 폴더 위치 지정 , Project name 상자에 프로그램 이름을 입력 .

Page 10: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 10/31

윈도우 프로그램 작성 단계 (Con’t)

3. Single document 선택

Page 11: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 11/31

윈도우 프로그램 작성 단계 (Con’t)

4. Step 6 에서 Base class 를 CScrollView 를 선택하고 Finish

Page 12: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 12/31

윈도우 프로그램 작성 단계 (Con’t)

5. 실행

Page 13: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 13/31

메뉴 생성 및 연결 함수 작성

1. [Resource View] 탭에서 Menu 선택

Page 14: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 14/31

메뉴 생성 및 연결 함수 작성 (Con’t)

2. 메뉴에서 빈칸을 선택하고 “실습” 입력 해서 새로운 주 메뉴 생성

Page 15: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 15/31

메뉴 생성 및 연결 함수 작성 (Con’t)

3. 부 메뉴에서 빈칸을 선택하고 ID 와 Caption 을 입력하여 새로운 부 메뉴 생성

Page 16: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 16/31

메뉴 생성 및 연결 함수 작성 (Con’t)

4. 새로 생성한 부메뉴에 연결 함수 작성을 위한 MFC ClassWizard 실행 ( 마우스 오른쪽 또는 Ctrl + w)

Page 17: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 17/31

메뉴 생성 및 연결 함수 작성 (Con’t)

5. MFC ClassWizard 대화 상자에서 Messages 상자 안에 있는 “ COMMAND” 항목을 선택한 다음에 [Add Function] 버튼을 클릭

Page 18: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 18/31

메뉴 생성 및 연결 함수 작성 (Con’t)

6. Add Member Function 대화 상자에서 함수 이름을 지정하고 [OK] 버튼 선택

Page 19: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 19/31

메뉴 생성 및 연결 함수 작성 (Con’t)

7. MFC ClassWizard 대화상자에서 [Edit Code] 버튼을 클릭하여 생성한 함수를 편집

Page 20: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 20/31

메뉴 생성 및 연결 함수 작성 (Con’t)

8. OnPrintHelloworld() 함수 내용을 다음과 같이 편집 하고 실행

9. 실행 결과

Page 21: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 21/31

화면 출력

1. View 클래스 OnDraw 멤버 함수에 작성

Page 22: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 22/31

화면 출력 (Con’t)

2. 실행 화면

Page 23: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 23/31

마우스 처리

1. View 클래스에 마우스 클릭 좌표값을 저장할 멤버 변수 추가

Page 24: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 24/31

마우스 처리 (Con’t)

2. View 클래스의 생성자에 멤버 변수 초기화

Page 25: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 25/31

마우스 처리 (Con’t)

3. View 클래스의 OnDraw 수정

Page 26: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 26/31

마우스 처리 (Con’t)

4. MFC ClassWizard 대화상자에서 [WM_LBUTTONDOWN] 메시지 추가

Page 27: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 27/31

마우스 처리 (Con’t)

5. MFC ClassWizard 대화상자에서 [Edit Code] 버튼을 클릭하여 생성한 함수를 편집

Page 28: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 28/31

마우스 처리 (Con’t)

6. 마우스 포인트의 좌표를 m_ClickMousePoint 에 저장하고 화면을 갱신한다

Page 29: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 29/31

마우스 처리 (Con’t)

7. 실행 화면

Page 30: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 30/31

실습

640 x 480 크기의 빨간색 배경을 그린다 . 반지름의 크기가 50 인 노란색 원을 그린다 . 마우스 왼쪽 버튼 클릭 시 노란색 원을 클릭한 포인트로 이동 시킨다 . 마우스 클릭한 포인트에서 노란색 원이 벗어날 경우 메시지를 출력하고

포인트를 정정 해준다 .

Page 31: 멀티미디어 정보처리 #1

Computer Vision & Pattern Recognition Lab. 31/31

실습 (Con’t)

실행