본문 바로가기

컴퓨터 프로그래밍

(78)
FPS와 모니터주사율 수직동기화에 대해서 FPS 란 Frames Per Second의 약자로 영어단어 그대로 초당 프레임 수를 의미한다. 동영상은 사실 정지된 사진들의 모음으로 볼 수 있다. 어릴적 책 한쪽 구석에 그림을 그려놓고 사르륵 펼치면서 움직이는 그림처럼 만든 적이 있을 것이다. (플립북이라고 함) 이처럼 여러개의 정지된 사진들을 얼마나 보여주냐에 따라서 어색하거나 또는 매끄러운 영상이 될 수 있다. 따라서 영상이 얼마나 매끄러운지 표시하기 위해 FPS라는 개념을 가져오게 된것이다. 가령 30FPS 면 1초당 이미지를 30개씩 보여준다는 의미이며, 60FPS면 1초당 60개의 이미지를 보여준다는 의미이다. 다음 그림은 FPS의 차이에 따른 영상 차이를 확인 할 수 있는 그림이다ㅣ. 사실상 영상이 끊겨보이거나 어색해 보이는 것은 이런 F..
Realsense 카메라를 이용한 Calibration 작업 - 문서내용 정리 본 문서의 경우 Dynamic Calibration 을 하는것을 도움줄 것으로 예상되어진다. 미리 결론을 말하자면 카메라간 환경 세팅이라기 보단, 한 카메라의 depth값 자체를 보정하는 자료였다. 일단 문서를 읽고 정리한 내용은 살려놓을 것이다. Calibration parameter로 extrinsic 파라미터와 intrinsic 파라미터로 나뉘어져있다. 먼저 Intrinsic 파라미터로는 다음 3가지가 있다. 각각의 설명은 다음과 같으며, 해당 파라미터는 dynamic 하게 조절하기 힘들다. Focal Length: left, right, 와 RGB카메라의 픽셀에서 [Fx, Fy] 로 정의되어짐. Principal point: 마찬가지로 left, right, RGB카메라의 픽셀에서 [px, py]..
Realsense 카메라를 이용한 Calibration 작업 Realsense camera는 3D(depth) 촬영이 가능한 카메라입니다. 인텔에서 제작했으며 , 현재 가지고 있는 버전은 d435버전입니다. 위 사진이 리얼센스 d435이며, 해당 제품 2개를 이용해 calibration을 해보려고 합니다. Calibration을 통해 world coordinate상에서 두 카메라가 보는 물체에 대한 좌표를 통일시켜주는 작업을 하려고 합니다. 한 카메라당 rgb와 depth 두가지 데이터를 가지고 있으며, rgb데이터에 대해서 진행할 예정입니다. 작업을 위해 현재 realsense dynamic calibration 문서를 읽고 있으며, 해당 문서에서 나온 내용을 요약을 먼저 하고, 그리고 나서 calibration 코드를 사용해 프로그램화 시키려고 합니다. 다음 ..
pyinstaller 로 exe파일 실행파일 만들기 - tensorflow-gpu 버전 내용 추가 pyinstaller를 통해 exe 파일까지 만들고, 실행까지 했다면 인제 이 exe파일을 가지고 다른 컴퓨터에 테스트를 해봐야 할 것이다. 여기서 문제가 몇가지 발생했다. 일단은 해당 컴퓨터에는 CUDA와 CUDNN이 설치되어있어야한다. 일단 자신의 CUDA버전을 확인해야한다. 동일한 CUDA버전을 설치해야 dll이 충돌나지 않는다. 자신의 CUDA버전을 확인하는 방법은 다음과 같다. nvcc --version 해당 명령어를 cmd창에서 치면 다음과 같은 화면이 나올것이다. 본인의 cuda버전은 보시다시피 cuda9.0 (v9.0.176)이다. 이에 해당되는 cuda버전 설치파일을 준비하고, 해당 cuda파일과 연동이 되는 cudnn또한 준비한다. cudnn의 경우는 아래의 링크에서 맞는 버전을 다운받..
pyinstaller 로 exe파일 실행파일 만들기 - tensorflow-gpu 버전 이번 포스팅에서는 tensorflow gpu 버전을 불러볼 예정이다. 마찬가지로 venv 환경의 cmd창에 들어가서 pip install tensorflow-gpu 라고 명령어를 친다. 이렇게 하면 쉽지만... tensorflow는 python 과 마찬가지로 버전이 중요합니다. 따라서 타겟버전을 명시하는게 좋다. 위와 같이 tensorflow-gpu ==1.9.0이라고 명시해야 해당 버전을 설치한다. 버전을 맞춰주지 않으면 cuda버전과 맞지 않은 dll을 요구하게 된다. 설치가 끝났다면 import tensorflow as tf라고 치고 pycharm에서 실행해보면 잘 실행되는것을 확인할 수 있을 것이다 . 실행이 확인됐다면 pyinstaller TFEX.py 명령어를 쳐서 exe파일을 만들고 실행시켜..
pyinstaller 로 exe파일 실행파일 만들기 - opencv 저번 포스팅에 이어서 이번에는 본격적으로 opencv 와 tensorflow등 필요한 라이브러리와 함께 exe파일을 만드는 작업을 하려고 한다. 현재 글쓴이의 필요한 부분은 opencv와 tensorflow-gpu, pyrealsense라이브러리들이다. 저번포스팅에 이어서 작업을 하려고 합니다. 일단 venv를 실행시키고 pycharm 으로 들어가 필요한 라이브러리를 import 를 한다 당연히 해당 라이브러리가 설치가 되어있지 않으므로 오류가 나올것이다. 해당 라이브러리들을 venv를 켠 후에 pip를 이용해서 차근차근 설치해준다. 본인은 pyrealsense2와 pandas opencv를 설치했으며 문제없이 실행이 되었다. opencv가 설치되었으니 테스트를 해보겠다. 일단 pycharm을 이용한 o..
pyinstaller 로 exe파일 실행파일 만들기 이번에는 pyinstaller라는 라이브러리를 이용해서 기존에 만들었던 파이썬 프로그램을 exe형태로 변환하고, 이를 실행할 수 있도록 한다. 일단 간단하게 python 파일을 만들어봤다. (참고로 파이참으로 작업하며, venv를 사용해서 라이브러리에 대한 환경을 따로 잡아줬습니다. ) 물론 결과는 간단하게 나옵니다. 이것을 간단하게 pyinstaller를 이용해서 exe파일로 만들어보겠습니다. 일단 pip에서 필요한 pyinstaller를 설치하기 위해 cmd 에서 가상환경을 활성화시켜줍니다. 활성화가 완료되었다면 다음과 같은 앞에 (venv)라는 부분이 생겼을겁니다. 이후 pip install pyinstaller 명령어를 타이핑 한 후 pyinstaller를 설치해준다. 설치가 완료됐다면 다시 ex..
Pandas 데이터 그룹화 하기 및 Median 값 구하기 및 저장하기 저번 포스트에서는 원하는 만큼의 데이터만 가져왔었습니다. 이번에는 전체 데이터에 대해서 Median값을 구하고 이를 저장하는 것을 하려고 합니다. 코드는 다음과 같고 결과는 그 다음 그림과 같습니다. 원하는 대로 NoseX 부터 pubis_Z까지의 중앙값이 구해졌습니다. 다음은 이를 CSV파일로 저장하려고 합니다. 함수를 새로 만들어 주시고, 이름과 pd data를 매개변수로 받고 다음과 같이 구현합니다. 그리고 해당 함수를 호출을 합니다. def SaveDB(name, pd ): pd.to_csv(name) SaveDB("dance1.csv", Dance_m) 이렇게 하면 다음과 같이 데이터가 생깁니다. 다음 포스팅에서는 Median 데이터와 카메라에서 나오는 데이터와 비교하는 알고리즘을 포스팅 하겠습..