본문 바로가기

반응형

프로그래밍

(30)
GDCM 설치와 Visual Studio 2017에서 사용하기 Visual Studio에서 DICOM 파일과 관련된 프로젝트를 진행하려고 하는데, GDCM Documentation이 너무나 부족했다... GDCM 설치과정에서 일어날 수 있는 삽질을 최대한 줄여보고자 글을 작성한다. 본 글은 GDCM 3.0.0을 Visual Studio 2017 프로젝트에서 사용하고자 설치하는 글이다. GDCM은 Grassroot DICOM의 약자로 의료영상에 주로 쓰이는 DICOM 파일을 다루기 위한 라이브러리이다. GDCM library를 다운로드한다. https://sourceforge.net/projects/gdcm/ 다운받은 gdcm-3.0.0.tar.gz 파일을 GDCM 라이브러리를 저장하고자 하는 곳에 압축을 푼다. 아래와 같이 폴더를 구성하면 편리할 듯 싶다. [gdc..
2942 - 퍼거슨과 사과 1. 문제 조건 확인 https://www.acmicpc.net/problem/2942 빨간 사과 R개와 초록 사과가 G개 있다. 이를 몇몇 선수들에게 나누어 주는데, 받은 선수들은 모두 같은 수의 사과를 가져야 한다. 또한 사과를 나누어 준 뒤에 사과가 남아서는 안된다. 선수는 무한히 존재한다. 입력 조건 빨간 사과의 수 R과 초록 사과의 수 G가 주어진다. R, G 모두 10^9이하의 자연수이다. 즉, INT 범위 이내이다. 출력 조건 사과를 나누는 방법을 모두 출력한다. 그 형식은 (N X Y)로 모든 경우를 한 줄 씩 출력한다. N은 선수의 수, X와 Y는 각 선수가 받는 빨간 사과와 초록 사과의 수이다. ex) 빨간 사과 4개, 초록 사과 8개인 경우 예시 출력:1 4 8 2 2 4 4 1 2 ..
1309 - 동물원 1. 문제 조건 확인 https://www.acmicpc.net/problem/1309 동물원에 사는 사자들을 그림과 같은 우리에 가둔다고 한다. 사자를 가두기 위한 우리에는 배치 문제가 있는데, 사자를 우리에 가로로도 세로로도 붙어 있게 배치가 불가능하다. 여기서 2XN 크기의 우리에서 사자를 배치하는 경우의 수를 구하는 것이 문제이다. 입력 조건 2XN 크기의 우리에서 N값을 입력받는다. N은 10^5이하의 정수이다. 출력 조건 2XN 크기의 우리에서 사자를 배치할 수 있는 경우의 수를 출력한다. 그 답은 9901로 나눈 나머지를 출력하여야 한다. 2. 문제 풀이 아이디어 문제에서 사자는 가로로 혹은 세로로 붙어 배치하지 못한다고 한다. 즉, 대각선의 배치는 가능하다. 또한 사자를 한마리도 배치하지 ..
1003 - 피보나치 함수 1. 문제 조건 확인 https://www.acmicpc.net/problem/1003 피보나치 수에 대한 문제이다. 단, 피보나치 수를 구하는 문제는 아니다. 피보나치 수는 유명한 수열로, 앞의 두항을 더해 다음항을 구하는 구조이다. 조금 써보자면, 0 1 1 2 3 5 8 13 21 34 55... 로 진행된다. F(n) = F(n-1) + F(n-2) (단 n=0 일때 0, 1일 때 1) 이를 프로그래밍 한다면, 간단히 재귀함수를 이용해 나타낼 수 있다. 그 예가 바로 문제에서 볼수 있다. 이를 이용하면 피보나치 수를 구할 수 있다. 다만, 문제에서 요구하는 것은 위의 재귀 함수를 이용했을 때, fibonacci(0)와 fibonacci(1)의 호출수를 구하는 것이다. 그 예가 문제에 잘 나타나있는..
Windows10 Pycharm으로 Tensorflow 프로젝트 생성하기(+Anaconda3 환경) 본격적으로 Machine Learning을 공부하기 위해서 개발환경을 구축하려고 한다. Python Tensorflow를 이용해 공부를 할 계획인데, Python의 Anaconda Platform을 이용하고, 개발은 Pycharm IDE을 사용하고 싶었다. Anaconda 3 5.1 버전을 다운받았고, Python3.6 버전의 환경에서 실행했다. Anaconda에서 Tensorflow 패지키는 정식 지원이 아니기 때문에 추가적으로 설치해줘야 되는데, 이 부분에서 거의 하루를 헤맸다... UTF-8 인코딩인 한글 지원이 안되서, Windows 사용자명이 한글인 경우에 Tensorflow 패키지 설치가 제대로 되지 않았다. 강제로 Windows 사용자명을 변경했는데 이 부분도 포스팅해야겠지. 이 글에서는 A..
[Arduino] 5. Wemos D1 mini로 인터넷 연결하기 Wemos D1 mini가 좋은점은 기본적으로 esp8266이 장착되어 있기 때문에 Wifi를 통한 인터넷 연결을 하고자 할 때, 추가적으로 esp8266이 필요하지 않다. Arduino UNO에 esp8266 모듈을 추가하고자 할 때처럼 복잡하고 귀찮은 펌웨어 및 세팅 과정을 겪지 않아도 된다는 소리이다.본격적으로 Wemos d1 mini의 Wifi 이용해 인터넷을 연결해보자. 시작하기에 앞서, 본 글은 아두이노 스케치가 설치되어 있고, Wemos D1 mini 보드가 제대로 세팅되어있음을 가정한다. 이 과정을 하지 않았다면 아래의 링크를 참조하자.[Arduino] 2. 아두이노 설치하기 [Arduino] 3. 아두이노 연결 및 세팅(Wemos D1 mini) 1. Arduino 연결하기 앞서 말했듯,..
[Arduino] 4. Wemos D1 mini 온도 센서(DS18B20) 연결하기 아두이노 연결까지 성공적으로 했다면, 이제는 아두이노에 센서를 연결해 볼 수 있을 것이다.Wemos D1 Mini에서도 마찬가지로 다양한 센서를 연결해 볼 수 있는데, 본 게시글에서는 온도 센서를 연결해 보려고 한다.연결할 온도 센서는 DS18B20이라는 이름을 가지고 있다. Maxim IC에서 제작한 이 센서의 특징은 아래를 참조하자. Dallas DS18B20 Temperature Sensor 특징 -55°C 에서 +125°C까지 측정 가능 1-Wire Inerface를 사용한다. 각 센서마다 64-bit Serial number를 가지고 있어 여러개의 센서를 동시에 연결해 제어할 수 있다. Data Line을 이용해 전원공급 가능 3.0V ~ 5.5V 범위의 전원공급 요구 온도는 9bit ~ 12b..
[Arduino] 3. 아두이노 연결 및 세팅(Wemos D1 mini) 앞서, 아두이노 프로그램을 설치했다면, 본격적으로 아두이노를 연결해보자.Arduino Sketch를 설치하지 않았다면 -> [Arduino] 2. 아두이노 설치하기 본편에서는 가장 흔한 아두이노 시리즈인 Uno가 아니라, Wemos D1 Mini라는 보드를 연결해 보도록 한다. Wemos D1 Mini는 아래와 같이 생긴 보드이다. Wemos D1 Mini SpecMicrocontrollerESP-8266EXOperating Voltage3.3VDigital I/O Pins11Analog Input Pins1(Max input: 3.2V)Clock Speed80MHz/160MHzFlash16M bytesLength34.2mmWidth25.6mmWeight2.5g Wemos D1 Mini Output에 대..