...... 할말이 없다 -_- 자료형변환 왜이리도 짜증이 나는지... CString szValue; double lValue=0.0; // 해결방법 lValue = _wtof(szValue); // Error!! lValue = atof(LPSTR(LPCTSTR(szValue))); // 참고로 _wtoi() 함수는 정수로 변환을 해준다. _wtof() 함수를 쓰니 한번에 해결이 되었다. 이거 -_-; 하나 찾는데 얼마나 오래걸리는지.. 으아 ㅡㅡ++
cannot convert parameter 1 from 'char [40]' to 'LPWSTR' 에러 발생시 해결 방법 VS.Net 2005에서 사용해본 결과 기본적으로 'LPWSTR' 타입을 사용하고 있었으므로.. wchar_t * pExeFile = ...; wchar_t * pModuleFile = ...; swprintf(pExeFile, L"%s", pModuleFile); 이처럼 하는게 좋을 거 같다.. swprintf(pExeFile, L"%s", pModuleFile); 위 부분에서 L을 빼먹으면 또 에러가 나니 조심... char * pExeFile = ...; char * pModuleFile = ...; sprintf(pExeFile, "%s", pModuleFile); or wc..
WINBASEAPI int WINAPI MultiByteToWideChar( UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, int cchMultiByte, LPWSTR lpWideCharStr, int cchWideChar); WINBASEAPI int WINAPI WideCharToMultiByte( UINT CodePage, DWORD dwFlags, LPCWSTR lpWideCharStr, int cchWideChar, LPSTR lpMultiByteStr, int cchMultiByte, LPCSTR lpDefaultChar, LPBOOL lpUsedDefaultChar); void main() { char * str = "유니코드"; WORD wc..
OpenCV 에서 디버그 할때 cvcamInit() 꺼지는 현상 코딩을 하다가 정말 귀찮다. 왜 자꾸 카메라를 연결시킨후 디버깅을 하면 꺼질까? ㅜㅜ... 엄청 암울하다. 음 그래서 맘먹고 함수이름으로 한번 찾아봤다 ! 역시 있다! 문제는 "Nero x.x" 프로그램!! 설치된것 때문에 !! 헐!! 해결방법은 아래와 같다. 살짝 눌려주기만 하면~!! 디버깅은 바로 된다! ㅎㅎㅎㅎ 먼저 C:\Program Files\Common Files\Ahead\DSFilter 폴더 안에 NeVideo.ax 파일이 존재하는지 확인한다. Nero 설치시 일반적인 설치를 했다면 아마 위의 폴더 경로에 해당 파일이 존재할 것이다. 만약 없다면 검색해서 어느 폴더에 존재하는지 확인한다. 시작->실행을 누른 다음 아래의 명령어..
팩토리 패턴 - 객체를 생성하기 위한 인터페이스를 만듭니다. 어떤 클래스의 인스턴스를 만들지는 서브 클래스에서 결정하도록 합니다. 팩토리 메소드를 이용하면 인스턴스를 만드는 일을 서브 클래스로 미룰 수 있습니다. 팩토리 패턴의 핵심정리 ○ 팩토리를 쓰면 객체 생성을 캡슐화할 수 있습니다. ○ 간단한 팩토리는 엄밀하게 말해서 디자인 패턴은 아니지만, 클라이언트와 구성 클래스를 분리 시키기 위한 간단한 기법으로 활용 할 수 있습니다. ○ 팩토리 메소드 패턴에서는 상속을 활용합니다. 객체 생성이 서브클래스에게 위임되죠. 서브클래스에게 위임되죠. 서브클래스에서는 팩토리 메소드를 구현하여 객체를 생산합니다. ○ 추상 팩토리 패턴에서는 객체 구성을 활용합니다. 객체 생성이 팩토리 인터페이스에서 선언한 메소드들에서 ..
싱글턴 패턴 - 클래스 인스턴스가 하나만 만들어지도록 하고, 그 인스턴스에 대한 전역 접근을 제공합니다. 핵심정리 ★ 어떤 클래스에 싱글턴 패턴을 적용하면 애플리케이션에 그 클래스의 인스턴스가 최대 한 개 까지만 있도록 할 수 있습니다. ★ 싱글턴 패턴을 이용하면 유일한 인스턴스를 어디서든지 접근할 수 있도록 할 수 있습니다. ★ 싱글턴 패턴을 구현할 때는 private 생성자와 정적 메소드, 정적 변수를 사용합니다. ★ 다중 스레드를 사용하는 애플리케이션에서는 속도와 자원문제를 파악해보고 적절한 구현법을 사용해야 합니다.( 사실 모든 애플리케이션에서 멀티 스레딩을 쓸 수 있다고 생각해야 합니다.) ★ 클래스 로더가 여러개 있으면 싱글턴이 제대로 작동하지 않고 여러개의 인스턴스가 생길 수 있습니다. 주의..
MFC 클래스간 통신 SDI 형태 1. MainFrame 얻기 - CMainFrame *pFrame = (CmainFrame *) AfxGetMainWnd(); 2. App 포인터 얻기 - CTestApp *pApp = (CtestApp *) AfxGetApp(); 3. Document 포인터 얻기 - CMainFrame *pFrame = (CMainFrame *)AfxGetMainWnd(); CTestDoc *pDoc = (CTestDoc *)pFrame->GetActiveDocument(); - CTestDoc *pDoc = ((CMainFrame *)AfxGetMainWnd())->GetActiveDocument(); 4. View 포인터 얻기 - CMainFrame *pFrame = (CMainF..
클래스 맴버함수를 콜백함수로 사용하기 (passing class member function as callback function) --------------------------------------------------- 이 문제는 윈도우즈 API 와 C++ 언어를 같이 사용할 때 부딫히는 문제이다. 콜백함수를 인자로 요구하는 API 에 클래스의 멤버함수를 넘겨 줄 수는 없는 것인가? 여기 그 해결의 가능성을 보여준다. --------------------------------------------------- 항상 고민해 왔던것. 마음속 깊은곳으로 부터, 나를 괴롭히던 문제. DLGPROC 형 파라메터에 클래스의 맴버함수를 넘겨줄수는 없는것인가. DialogBoxParam( hInst, MAKEIN..
#pragma 는 #로 시작하는 Precompiler(전처리구문) 지시자 중 하나이다. 컴파일러에 종속적인 명령으로, 컴파일러에 직접 정보를 전하기 위해 사용하는데, 컴파일러에 종속적이기 때문에 컴파일러를 변경했을 경우 실행을 보장하진 못한다. #pragma 명령어 중 자주 쓰이는 once 와 comment() 에 대해서 알아보자. 1. #pragma once #pragma once 는 c의 헤더 파일 최상단에서 자주 볼 수 있는데, 컴파일러에게 해당 헤더 파일이 한번만 빌드되도록 알려주는 명령이다. 즉, 여러 번 인클루드 되는 것을 컴파일러 차원에서 막아주게 된다. 예를 들어, A.h라는 파일이 여러 곳에서 복잡하게 #include 되어 쓰이게 된다면 그때마다 각각 정의가 추가되게 되어 중첩되는 경우가..
Summary - ARToolKit Down 1. SourceForge.net 에서 ARToolKit Down 을 함 ARToolKit-2.7.2-1-bin-win32.zip DSVL-0.0.8b.zip OpenVRML-0.14.3-win32.zip 1. Down 받은 ARToolKit 를 원하는 경로에 복사함 2. ARToolKit 의 "*.dsw" or "*.sin"을 실행 3. (2005버전을 중심) 4. [도구]-[옵션] 클릭!! 5. [프로젝트 및 솔루션]-[VC++ 디렉터리] 6. 포함파일 선택! 1. ARToolKit\include\AR 추가 2. ARToolKit\include\AR\sys 추가 7. 라이브러리 파일 선택! 1. ARToolKit\Lib 추가 8. ARToolKit 폴더의 ..
라벨링이 필요한 이유 물체분할 라벨링 순서 / 라벨링 단계 라벨링이란? 라벨링 방법(Glassfire, 반복문) 라벨링이 필요한 이유! 가정용 로봇 : 주변 환경을 인식 하기위함 물체분할 분할은 배경(background)에서 물체(object)를 추출하는 것을 뜻한다. 음성인식에서 특별한 소리만을 인식하는 것도 분할에 해당한다. 영상에서 관심 있는 영역(semantic region)은 물체가 되고 나머지는 배경으로 취급된다. 차안에서 사람의 목소리는 물체이고 차 소리나 바람소리는 배경 또는 잡음(noise)으로 된다. 라벨링 순서 / 단계 라벨링 순서 입력영상 -> 이치화 -> 이치화 영상->연결분석->라벨링영상->특징추출->영상특징들 라벨링단계 이치화된 영상을 탐색하려다 밝기가 255인 화소값을 만나면..
1. 기하학 변환이란? 2. 전방향 / 역방향 3. 영상이동/회전/스케일링/반전/전단 4. 어파인변환/원근투영변환/직각투영변환 5. 보간법/이중선형보간법 기하학 변환이란? 영상 데이터 자체를 특정한 위치로 이동, 회전, 스케일링, 반전, 전단을 수행 회전(sin,cos), 스케일링(크기조절), 반전(위치반전) 전방향 / 역방향 ? 전방향 : 원본 -> 목적 -> 매핑 (매핑시 빈공간이 발생) 이유 : 확대,축소, 회전 등을 했을때 위치가 실수형으로 계산!! 해결 : 보간법 사용 전방향 공식 : 원본 -> 목적 (x,y) = (xs, ys ) 역방향 공식 : 원본 P’ = SRP + T ( 스케일링,회전 + 이동) - 선형변환 멀리 있는 물체는 작게 , 가까이 있는 물체는 크게 3차원 영상을 인간의 눈으로..