[Video] ffmpeg, ffplay 및 vlc 간단 사용법
FFmpeg 이란? 마이클 니더마이어(Michael Niedermayer)의 주도하에 개발되고 있는 모든 동영상, 음악, 사진 포맷들의 디코딩과 인코딩을 목표로 만들어지고 있는 LGPL과 GPL 라이센스를 따르는 오픈소스 프로젝트 관련 프로그램(인코더와 디코더 등등)에서 표준이라 불리울 정도로 많은 프로그램들의 기반으로 이용되고 있다. 아래의 FFmpeg을 기반으로 하는 프로그램 리스트를 보면 알겠지만 거의 대부분의 비디오 관련 프로그램들이 사용하고 있다. FFmpeg 프로젝트 자체가 모든 영상의 디코딩/인코딩을 지향하기 때문에 추가적인 코덱의 설치가 필요없다. ffmpeg.exe 파일 하나로도 인코딩이 가능 멀티코어를 공식적으로 지원 한다. 따로 옵션을 적지않으면 모든 코어를 사용 VF(libavfil..
2020.10.20
no image
[Linux] NVIDIA Driver 440.95 + CUDA 10.2 + cuDNN 8.0.1 설치
기존 환경 - CUDA 10.0 - cuDNN 7.5.0 - NVIDIA Driver 418.x 설치 환경 - Ubuntu 16.04 - RTX 2080 - CUDA 10.2 - cuDNN 8.0.1 - NVIDIA Driver 440.95 * CUDA 10.2 를 설치하려면 NVIDAR Driver >= 440.33 이 필요 * CUDA Driver 버전 확인 https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html Release Notes :: CUDA Toolkit Documentation This release of the toolkit includes the following updates: CUDA Math libraries too..
2020.07.07
[Linux] apt 와 apt-get 의 차이
apt는 apt-get과 apt-cache의 기능 중에서 잘 사용되지 않는 기능을 제외하고 만든 새로운 tool이다. 여기서 apt-get은 패키지 설치를 담당하고, apt-cache는 패키지 검색을 담당하는 tool이다. 결론적으로 apt-get이 아닌 apt를 사용하는 것이 사용성 측면에서는 유리하다. 참고자료 : https://developern.tistory.com/entry/apt-apt-get-%EC%B0%A8%EC%9D%B4 [Linux] apt와 apt-get의 차이 apt는 apt-get과 apt-cache의 기능 중에서 잘 사용되지 않는 기능을 제외하고 만든 새로운 tool이다. 여기서 apt-get은 패키지 설치를 담당하고, apt-cache는 패키지 검색을 담당하는 tool이다. 결..
2020.07.06
[Linux] sudo apt-get -f install
sudo apt-get -f install 깨진 패키지 매니저 (apt-get) fix 하는 명령어임 참고자료 : https://koodev.tistory.com/61?category=730188 Ubuntu 16.04 apt 'E: Unmet dependencies' 에러 다른 사람이 사용하던 Ubuntu PC를 사용하게 되었는데, 패키지 매니저(apt)가 심하게 꼬여 있었다. 패키지 설치가 되지 않으며, `sudo apt-get -f install` 로 fix를 시도해 보아도 아래와 같은 메시지가 나�� koodev.tistory.com
2020.07.06
[CMake] Ubuntu 환경에서 CMakeLists.txt 생성하기 위한 참고자료들
https://cmake.org/cmake/help/v3.0/manual/cmake-commands.7.html cmake-commands(7) — CMake 3.0.2 Documentation cmake.org https://gist.github.com/luncliff/6e2d4eb7ca29a0afd5b592f72b80cb5c#Linking CMake 할때 쪼오오금 도움이 되는 문서 CMake 할때 쪼오오금 도움이 되는 문서. GitHub Gist: instantly share code, notes, and snippets. gist.github.com https://cgold.readthedocs.io/en/latest/tutorials/tests.html 3.10. Tests — CGold 0.1 ..
2020.06.17
[Python] Why time.time() gives 0.0?
You could use timeit.default_timer instead of time.time. timeit.default_timer will choose the best timer (time.time, time.clock or time.perf_counter) for your system. The resolution of the timer isn't unlimited; it goes up by small amounts periodically. If the two calls are close enough together, you will see a zero value. If you tried a large number of such calls, you would probably find that t..
2020.06.17
[Linux] 리눅스 파티션 나누기
리눅스 디스크 파티션에 대해서 간단히 알아보았다. 리눅스 파티션은 루트 파티션이라고 부르는 '/' 파티션과 'swap' 파티션 2개만 있어도 운영이 가능하다. 왜냐하면 루트 파티션만 생성하면 나머지 파티션 들인 /bin /etc /boot /usr /tmp /var /home 들은 모두 루트 파티션 아래 종속되기 때문이다. 물론 실무에서 리눅스를 운영할 때는 지금과 같이 파티션을 두 개로 나누지 않고, 필요한 용도에 따라서 다양하게 분할한다. 하드디스크 80GB 기준으로 다음과 같이 나눌 수 있다. 마운트 포인트 권장 크기 비고 / 10GB 루트 파티션 /bin 기본 명령어가 들어가 있음 /sbin 시스템 관리용 명령어가 들어가 있음 /etc 시스템의 환경 설정과 관련된 파일이 들어가 있음 /boot 4..
2020.05.16
[OpenCV] Image Crop
OpenCV 에서 ROI 만큼 이미지를 Crop 시키는 방법은 아래와 같다. 간단한 방법인데, 잊지않으려고 정리한다. Python 구현 # x, y, w, h refers to the ROI for which the image is to be cropped. img = cv2.imread('test.jpg') cropped_img = img[y: y + h, x: x + w] C++ 구현 Mat img = cv::imread("test.jpg"); Rect bounds(0,0,img.cols,img.rows); Rect r(x,y,width,height); // partly outside Mat roi = img( r & bounds ); // cropped to fit image 위와 같이 구현하면 아..
2020.04.29
[Linux] 터미널 창에서 ctrl + s
리눅스 터미널 창에서 버릇처럼 ctrl + s 를 누르게 되는데 이는 Data Sending 을 멈추는 것 이기 때문에 키가 안먹는 현상이 발생한다. 이 때 ctrl + q 를 누르면 일시정지된 창이 재개된다 ...
2020.04.21
[Python] Import 는 꼭 맨 윗줄에 써야하는가?
Python 내부에서는 모듈을 import 하는 함수를 여러번 실행하더라도 모듈은 한번만 Import 되기 때문에 사실상 어디서 하던 상관 없다고 한다. 심지어 함수 안에서 모듈을 import 하는 것이 실행속도가 더 빠르다고 한다. 왜냐하면 맨 위에서 컴파일하면 LOAD_GLOBAL 하는 반면, 함수 안에서는 LOAD_FAST 하기 때문에 함수 안에서 Import 하는 것이 더 빠르다고 한다. 그럼에도 불구하고 맨 위에 모듈을 import 하는 이유는 Python 스타일 가이드가 그렇게 쓰라고 권장했기 때문이다. 맨 위에서 import 하는 경우 import random def f(): L = [] for i in xrange(1000): L.append(random.random()) for i in ..
2020.04.17
[Python] 파일 읽고 쓰기
1. 파일 생성하기 f = open("새파일.txt", 'w') f.close() 파일 열기 모드 r 읽기모드 - 파일을 읽기만 할 때 사용 w 쓰기모드 - 파일에 내용을 쓸 때 사용 a 추가모드 - 파일의 마지막에 새로운 내용을 추가 시킬 때 사용 2. 파일을 쓰기 모드로 열어 출력값 적기 # writedata.py f = open("C:/doit/새파일.txt", 'w') for i in range(1, 11): data = "%d번째 줄입니다.\n" % i f.write(data) f.close() 3. 파일 읽기 3.1 readline() # readline_all.py f = open("C:/doit/새파일.txt", 'r') while True: line = f.readline() if not..
2020.03.09
[Linux] 폴더 용량 크기 순서대로 확인하기
du -sh * | sort -h du -sh * | sort -h
2020.03.09