[Python] 화면 캡쳐 라이브러리 처리 속도 비교
·
Develop/Python
개요Python에서 화면을 캡쳐를 수행하는 라이브러리는 다양하게 존재합니다. 그러나 라이브러리 간 처리 속도의 차이가 있으며, 이는 프로젝트를 수행함에 있어 많은 영향을 미친다. 따라서 이 게시글에서는 라이브러리의 처리 속도를 비교하고 어떤 라이브러리가 가장 효과적인지에 대해 알아봅니다. 라이브러리대표적으로 화면을 캡쳐할 수 있는 라이브러리는 Pillow, pyautogui, mss 가 존재합니다.(관련 라이브러리의 자세한 설명은 생략하겠습니다.) 성능다음과 같이 화면의 일부 영역을 캡쳐하는 코드를 구현하였습니다.import cv2import mssimport timeimport pyautoguiimport numpy as npfrom PIL import ImageGrabx1, y1, x2, y2 = 4..
[Python] pytube로 Youtube 영상 처리
·
Develop/Python
Pytubehttps://github.com/pytube/pytube GitHub - pytube/pytube: A lightweight, dependency-free Python library (and command-line utility) for downloading YouTube Videos.A lightweight, dependency-free Python library (and command-line utility) for downloading YouTube Videos. - GitHub - pytube/pytube: A lightweight, dependency-free Python library (and command-line ut...github.comHow to use ?from pytu..
[Python] pafy로 Youtube 영상 처리
·
Develop/Python
pafyhttps://github.com/mps-youtube/pafy GitHub - mps-youtube/pafy: Python library to download YouTube content and retrieve metadataPython library to download YouTube content and retrieve metadata - GitHub - mps-youtube/pafy: Python library to download YouTube content and retrieve metadatagithub.com How to use ?다음과 같이 instance를 선언한 뒤 필요한 정보를 얻을 수 있다.import pafyurl = "https://www.youtube.com/watch..
[Python] Poetry 설치 & 간단한 실습 (FastAPI)
·
Develop/Python
PoetryPython Dependecy Manager로 Python 프로젝트에 대한 모든 dependency를 선언, 관리, 설치하여 어디서나 프로젝트가 작동하도록 도와주는 툴입니다. Poetry는 .toml 파일과 .lock 파일을 생성해 dependency를 관리합니다..toml 파일에는 프로젝트 dependency의 Metadata가,.lock 파일에는 설치된 패키지들의 version, hash가 저장되어 있습니다.Installhttps://python-poetry.org/docs/#installing-with-the-official-installer Introduction | Documentation | Poetry - Python dependency management and packaging..
[Python] nohup으로 .py 백그라운드 실행
·
Develop/Python
filename.py 파일을 실행할 때 컴퓨터를 종료하게 되면 이 실행 파일도 종료됩니다.이를 백그라운드에서 실행하여 컴퓨터를 종료하더라도 계속해서 실행할 수 있는 명령어가 있어서 소개하겠습니다. nohup사용법은 매우 간단합니다. CLI로 .py를 실행할 때 앞에 nohup을 붙여주기만 하면 됩니다.nohup python test.py &이때 실행 log의 경우 nohup.output에 기록되며 다음 명령어로 생략 가능하다.nohup python test.py & > /dev/null 프로세스 종료백그라운드에서 해당 파일을 실행하기 때문에 GUI 환경에서 편하게 프로세스를 종료할 수 없습니다.따라서 PID를 찾아 직접 종료시켜줘야하는 약간의 번거로움이 있습니다.먼저, ps -ef 명령어를 통해 실행 중..
[Python] 우선순위 큐 (Priority Queue)
·
Develop/Python
우선순위 큐 (Priority Queue) 우선순위 큐 (Priority Queue) 란?데이터를 추가 (Put) 한 순서와 상관없이 데이터를 꺼낼 때 (Get) 값을 오름차순하여 반환하는 자료구조이다.내부에는 데이터를 정렬된 상태로 보관하는 로직이 heapq 모듈을 통해 구현되어 있으며 시간 복잡도는 O(logN)O(logN)을 가진다. 힙 (Heap) 정리 힙 (Heap)힙 (Heap) 자료구조 힙 (Heap) 이란? 완전 이진 트리의 일종으로 우선순위 큐를 위하여 만들어진 자료구조이다. 여러 개의 값들 중에서 최대값이나 최솟값을 빠르게 찾아내도록 만들어진 자료구조geunuk.tistory.com ImportPriorityQueue 클래스는 queue 내장 모듈에서 제공합니다.f..
[Python] 분할정복 - 거듭제곱을 더 빠르게 계산하자 !
·
Develop/Python
이 블로그를 참고하여 작성하였습니다 ! 수학에서 거듭제곱은 같은 수를 거듭하여 곱한 것으로, 주어진 수를 주어진 횟수만큼 여러 번 곱하는 연산입니다. 이는 코드를 통해 쉽게 구현이 가능하지만, 여러 코딩 테스트를 문제를 풀기위해선 효율적으로 구성할 필요가 있습니다. 1. 반복문 사용def power(a, b): answer = 1 for _ in range(b): answer *= a return answer 2. 재귀함수 사용an=a1×a2×a3××anan=a1×a2×a3××an 는 점화식 an=an1a로 표현할 수 있습니다.def power(a, b): if b == 1: return a..
[Python] set 집합
·
Develop/Python
Set흔히 수학에서 사용하는 집합과 매우 유사순서를 가지지 않는다 (unordered)집합 안에서 유일함 (unique) = 중복이 없음인덱싱이 불가능하다.A = set([1, 2, 3])B = set('Hello')print(A)print(B)# {1, 2, 3}# {'e', 'H', 'l', 'o'} 교집합 (Intersection)A = set(['H', 1, 'l', 2, 'o'])B = set(['l', 2, 'o', 3, 'e'])print(A&B)print(A.intersection(B))# {'l', 2, 'o'}# {2, 'o', 'l'} 합집합 (Union)A = set(['H', 1, 'l', 2, 'o'])B = set(['l', 2, 'o', 3, 'e'])print(A|B)pri..
욱근욱