2014. 12. 29. 12:05

1. NVIDIA 홈페이지에서 cuda_6.5.19_windows_general_64.exe를 다운 받은 후 설치한다

- 각자의 그래픽 카드와 OS 사양에 맞추어 다운로드


2. 설치하면 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5에 설치될 것이다

- 환경변수 CUDA_PATH를 설정한다.(아마 설치하면 자동으로 환경변수가 설치되어 있을 것이다)


3. C:\ProgramData\NVIDIA Corporation\CUDA Samples\v6.5에서 Samples_vs2012.sln 파일을 열어서 빌드한다

- 빌드가 성공적으로 끝나면 이상이 없는 것이다


4. Visual Studio를 실행하고 새 프로젝트를 만든다


5. cu 확장자를 가진 소스 파일을 만든다


6. 솔루션 탐색기에서 해당 프로젝트를 우클릭해서 "사용자 지정 빌드를 선택"한 후 CUDA 6.5(.targets, .props)를 체크한다


7. 메뉴 - 보기 - 속성 - 구성속성 - C/C++ - 일반 - 추가 포함 디렉터리 에

$(CUDA_PATH)\include를 포함시킨다


8. 메뉴 - 보기 - 속성 -구성속성 - 링커 - 일반 - 추가 라이브러리 디렉터리

에 $(CUDA_PATH)\lib\Win32를 포함시킨다


9. 각자에 맞는 라이브러리를 포함시킨다.(cudart.lib 등)


10. main.cu 파일을 우클릭, 속성-> 구성 속성 -> 일반 -> 항목 형식을 CUDA C/C++로 선택한다.(제일 중요함)


11. 소스를 입력한 후 빌드한다.


예제 소스




2014. 12. 24. 14:09


두 개의 값은 다르게 나온다

bmp 저장은 배열의 값 그대로 나오고

jpg는 압축 되어서 나오기 때문에 다른 픽셀값으로 출력된다.

이걸 몰라서 일주일 헤매었다 ㅠㅜ


2014. 12. 22. 09:40

3D 그래픽스 쪽으로 회사를 다니다가

새로운 회사에서 영상처리를 하느라 다시 OpenCV를 사용하기 시작했다


내가 예전에 사용하던 버전은 1.0인데 벌써 3.0까지 나와서

지금은 3.0으로 사용하고 있다...


적응하는데 시간이 오래 걸릴 거 같다...


열심히 해야지...

2014. 12. 22. 09:37

CUDA 6.0에서는 빌드를 못하다가 

최신 버전 CUDA 6.5에서 다시 빌드를 성공했다


방법은 cuda_6.5.19_windows_general_64.exe 를 다운 받아 설치한다음

Visual Studio를 빌드하면 된다


빌드를 성공하면 어떤 프로그램이든지 실행이 가능하다 ^^


차근 차근 시작해보자~~

2014. 4. 23. 17:04

시작하기 전에 필요한 OpenCV 라이브러리를 추가하자 

지금 현재 필요한 라이브러리는 다음과 같다


opencv_imgproc248d.lib

winmm.lib

opencv_core248d.lib

opencv_highgui248d.lib


우선 이전 글에서 보았지만 실행하면 자식창(Child Window)가 기본적으로 보여진다


1. 그래서 불필요한 자식창을 처음에 보여주는 것을 방지해보자

자식창을 초기 화면에 안 보이게 하려면 App::InitInstance( )에 다음과 같은 코드를 입력하자






위와 같은 코드를 입력하고 창을 출력하면 다음과 같은 결과가 나온다



2. Doc 헤더파일에 OpenCV 헤더파일을 포함시키고 코드는 다음과 같다



3. 입력하여 저장하는 변수와 처리하는 함수를 Doc 클래스에 추가한다



4. Doc 클래스의 OnOpenDocument( )를 재정의하고 다음과 같은 코드를추가한다

아래의 코드를 이용하여 OpenCV 행렬에 입력한 이미지를 저장한다



5.  OpenCV 행렬과 Windows DC 를 이용하여 

     화면에 그리는 함수를 다음과 같이 구현한다




6. OnDraw( ) 함수에 다음과 같이 구현한다



7. 화면의 깜빡거림을 방지하기 위해 WM_ERASEBKGND 메시지를 재정의 하고 

    다음과 같이 구현한다



위의 코드를 다 구현한 상태로 실현한다

위의 Bmp 파일이나 Jpg 파일을 읽어들인 후의 결과는 다음과 같이 확인할 수 있다