일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 딥러닝
- c++
- MFC 프로그래밍
- Pytorch Lecture
- 해리스 코너 검출
- 파이토치
- c언어 정리
- 모두의 딥러닝
- 딥러닝 공부
- pytorch
- 팀프로젝트
- 파이토치 강의 정리
- TensorFlow
- 딥러닝 스터디
- 모두의 딥러닝 예제
- 컴퓨터 비전
- 가우시안 필터링
- tensorflow 예제
- 케라스 정리
- matlab 영상처리
- 미디언 필터링
- c언어
- 파이토치 김성훈 교수님 강의 정리
- object detection
- C언어 공부
- 골빈해커
- 김성훈 교수님 PyTorch
- 영상처리
- c++공부
- pytorch zero to all
- Today
- Total
목록Image Processing/MFC Programming (20)
ComputerVision Jack
메뉴 (Menu) 메뉴(Menu)란 응용프로그램에서 선택할 수 있는 명령의 집합, 계층 구조로 이루어진 사용자 인터페이스 요소입니다. 메뉴 기초 최상위 메뉴 = 메뉴바 드랍 다운 메뉴 컨텍스트 메뉴 = 단축 메뉴 팝업 메뉴 시스템 메뉴 = 윈도우 메뉴 = 컨트롤 메뉴 메뉴 항목 (명령 항목 / 팝업 항목) 엑세스키와 단축키 메뉴 생성 방법 리소스를 이용한 메뉴 생성 : 메뉴 리소르를 정의하여 실행 파일에 포함시킨 후 프로그램 실행 중에 로드. 코드를 이용한 메뉴 생성 : 코드를 실행하여 메뉴를 생성한 후 윈도우에 붙여서 사용한다. 메뉴 항목 속성 속성 의미 Help 최상위 메뉴 항목에만 설정가능, 윈도우의 오른쪽 끝에 메뉴 항목이 표시된다. ID 메뉴 항목을 구분하는 번호 Prompt MFC로 작성한 프..
1. DrawCircles 예제를 윈도우가 크기 변경이나 최소화 상태에서 복원되어 다시 그려져도 타원이 모두 나타나도록 수정하시오. 단, 정보는 CList 클래스를 이용하여 보관한다. CList 클래스를 이용하여 원을 그린 후, 해당 정보를 list.AddTail(rect); 를 이용해 추가한 후, CPaintDC에서 POSITION pos를 이용하여 출력하면 된다. 2. DrawCircles 예제를 수정하여, 마우스 왼쪽 버튼을 사용하면 빨간색, 마우스 오른쪽 버튼을 사용하면 파란색으로 원을 그리도록 수정하시오. 단, 마우스 오른쪽 버튼에도 마우스 캡처를 적용한다. COLORREF 클래스를 이용하여 RGB 값을 보관한 후, CPen pen(PS_SOLID, 2, color); 를 이용하여 각각 마우스 ..
마우스 다루기 마우스는 시스템에 한 개만 있는 자원이므로 한순간에 한 개의 프로그램만 입력을 받을 수 있다. 윈도우 운영체제는 마우스 메시지가 발생했을 때, 어느 프로그램에 이 메세지를 전달할지 결정해야한다. 마우스 메세지는 마우스 커서 밑에 있는 윈도우가 받는다. 클라이언트 영역 마우스 메시지 메시지 발생 시점 WM_LBUTTONDOWN 마우스 왼쪽 버튼을 누를 때 WM_LBUTTONUP 마우스 왼쪽 버튼 뗄 떄 WM_LBUTTONDBLCLK 마우스 왼쪽 버튼을 더블 클릭 할 때 WM_MBUTTONDOWN 마우스 가운데 버튼을 누를 때 WM_MBUTTONUP 마우스 가운데 버튼을 뗄 때 WM_MBUTTONDBLCLK 마우스 가운데 버튼을 더블 클릭 할 때 WM_RBUTTONDWON 마우스 오른쪽 버튼을..
1. PaintDC 예제에서 직사각형 영역을 숫자 대신 CRect 객체를 대입하여 직사각형과 타원을 출력하도록 수정하시오. 문제 1번의 경우 CChildView::OnPaint() 함수 내에서 CRect 객체를 생성하고 dc.Rectangle( ) 함수에 객체를 넣어주면 됩니다. 2. PaintDC 예제에서 클라이언트 영역 전체에 대해 타원을 출력하도록 수정하시오. 구현이 완료되면 윈도우 키기를 변경해도 타원이 변경된 크기에 맞춰 출력된다. 문제 2번의 경우 CChildView::OnPaint() 함수 내에서 CRect 객체를 선언하고 GetClientRect(&rect)를 통해 윈도우 크기를 객체에 정의한다. 다음 dc.Ellipse() 함수내에 rect.Width(), rect.Height()를 통해..
화면 출력 기초 GDI와 디바이스 컨텍스트 윈도우 운영체제는 GUI 기반이기 때문에 도스 같은 텍스트 기반 운영체제보다 훨씬 풍부한 출력 방법을 제공한다. 윈도우 운영체제의 출력 시스템은 다음 사항들을 고려하여 설계되어 있다. 모니터, 비디오 카드, 프린터 등 출력에서 사용되는 주변 장치가 변경되어도 프로그램을 수정할 필요가 없어야한다. 여러 프로그램이 화면을 분할해서 사용하므로 각각의 프로그램이 출력하는 영역에 제약을 가해야한다. 윈도우 운영체제는 GDI(Graphics Device Interface)라는 것을 사용한다. GDI는 윈도우 운영체제의 하위 시스템 중 하나로 DLL로 존재한다. 윈도우 화면 출력시 필요한 요구되는 사항 클라이언트 영역에 출력하려면 출력 대상 윈도우의 위치를 알아야한다. 화면..
1. Simple 예제에서 윈도우 타이틀을 '간단한 MFC 프로그램' 으로 수정하시오 Resource에 접근하여 IDR_MAINFRAME 캡션을 문제에서 정의한 값으로 변경하면 완료된다. 2. 마우스 커서가 다음과 같이 윈도우에서 기본으로 제공하는 손 아이콘(IDC_HAND)으로 변경되도록 Simple예제를 수정하시오. 마우스 자체는 캡쳐가 되지 않기에 직접 구현해본다면 마우스 커서가 변경되는 것을 확인할 수 있다. 우선 View 영역에 대한 출력과 관련되기 때문에 ChildView.cpp에서 처리해야합니다. BOOL CChildView::PreCreateWindow(CREATESTRUCT& cs) { } 에 접근하여 cs.lpszClass = AfxRegisterWndClass(CS_HREDRAW | ..
MFC 개요 MFC는 MS에서 윈도우 응용프로그램 개발을 위해 만든 C++ 클래스 라이브러리이다. C/C++ 표준 라이브러리가 범용인 것에 반해 MFC는 윈도우 응용프로그램 개발을 위해 특화된 것이다. MFC는 클래스 라이브러리가 제공하는 뛰어난 기능과 개발 도구와의 조화로운 연동을 바탕으로 프로그램 개발에 높은 생산성을 부여한다. MFC 특징 1. 윈도우 응용프로그램을 작성하는데 도움을 준다. MFC는 일반 윈도우 응요프로그램에서 거의 공통으로 사용하는 기능을 잘 검증된 C++ 클래스 라이브러리로 제공한다. 2. API를 기반으로 한 SDK 프로그램과 대등한 속도를 가진다. MFC는 내부적으로 인라인 함수를 많이 사용하여 클래스 라이브러리가 제공하는 부가 코드로 인한 실행 속도 저하를 최소화 한다. 3..
1. 문자열 리소스(IDS_APP_TITLE)가 포함한 문자열을 'Console'에서 'World'로 수정하여 콘솔에 출력하시오. Resource에 접근하여 IDS_APP_TITLE 캡션을 World로 수정하면 된다. 2. 문자열 리소스(IDS_APP_TITLE)가 포함한 문자열을 '콘솔'로 수정하여 한글이 정상적으로 출력되도록 수정하시오. 우선 마찬가지로 Resource에 접근하여 IDS_APP_TITLE 캡션의 값을 콘솔로 변경한다. _tsetlocale("LC_ALL", _T("")); 위 코드를 삽입하면 유니코드가 적용되어 한글이 콘솔 창에 실행된다. 3. "메세지 입니다." 문자열을 리소스 IDS_MESSAGE로 추가하고, CString 클래스를 이용하여 콘솔에 출력하시오. IDS_MESSAGE..