전체 글
파이썬 파일 및 폴더 다루기 : OS모듈
os는 Operating system의 약자로 폴더 생성, 파일 삭제, 이름 변경 등 운영체제의 종속 기능을 수행할 수 있는 모듈이다 import os os를 임포트해주면 사용할 수 있다 현재 작업 경로 확인 getcwd() import os print(os.getcwd()) >> C:\Users\Administrator cwd는 Current Work Directory 로 현재 작업 경로를 알려준다. 작업 경로 변경 chdir() import os os.chdir(r'C:\Program Files\Windows Defender') print(os.getcwd()) >> C:\Program Files\Windows Defender 파일 목록 listdir() import os os.chdir(r'C:\P..
파이썬 데이터 묶기 zip()
zip() 함수란?? zip 함수는 여러 개의 순회 가능한 객체를 인자로 받고, 각 객체가 담고 있는 원소를 튜플 형태로 반환합니다 저는 zip 함수를 보면 압축 파일 형태가 생각나는데요 이렇게 생각하시면 이해하시기 쉬울것입니다 score = [70,65,90] name = ['철수','영희','진수'] for pair in zip(score,name): print(pair) 위 코드를 실행하면 이러한 결과물이 나옵니다 (70, '철수') (65, '영희') (90, '진수') 감이 오시나요?? 같은 인덱스에 있는 데이터를 묶어서 짝을 지어줍니다 저장 score = [70,65,90] name = ['철수','영희','진수'] total_list = list(zip(score,name)) total_di..
이미지의 크기 변환 cv2.resize()
이미지의 사이즈를 변환시키는 cv2의 함수 resize를 알아 보도록 합시다 cv2.resize(src, dsize, dst=None, fx=None, fy=None, interpolation=None) -> dst • src : 이미지(input) • dsize : 변환 시킬 이미지 크기(output) , (w,h) 튜플로 사용하며 (0,0)이면 fx와 fy 값으로 결정함 • dst : 출력 이미지 • fx, fy : 스케일 비율. dsize 값이 0일때 유효 ex) 이미지 크기가 1920* 1080 일때 fx=0.5, fy=0.5 이면 960*540 크기로 변환을 의미 • interpolation : 보간법. 기본값은 INTER_LINEAR 보간법 종류 사이즈가 변할 때 pixel 사이의 값을 결정 ..
CV2로 IPCAMERA 영상을 동영상으로 저장 해보자
먼저 코드를 보여드리고 설명드리겠습니다 import cv2 import os, datetime class capture(): def __init__(self,ip,id,pw,rport,): self.ip = ip self.id = id self.pw = pw self.rport = rport self.url = f'rtsp://{id}:{pw}@{ip}:{rport}/cam0_0' def video(self): cap = cv2.VideoCapture(self.url) fourcc = cv2.VideoWriter_fourcc(*'XVID') width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGH..
CV2로 IPCAMERA 영상을 출력해보자
cv2로 ipcamera를 연결하려면 rtsp 주소가 필요합니다. 여기서 RTSP란 Real Time Streaming Protocol의 약자로 스트리밍 미디어 서버를 컨트롤 하기위한 네트워크 프로토콜입니다. RTSP 주소 알아보기 IPCAMERA(이하 카메라라고 칭함)가 부여 받은 아이피 주소를 알아야합니다. 카메라 제조사의 소프트웨어를 보시면 ip finder 프로그램을 제공합니다. 192.168.0.48 이런 아이피 주소를 부여 받습니다(자신의 아이피 주소마다 상이함) 동영상플레이어로 주소열기(네트워크 스트림)하고 아래 예시의 주소를 입력하면 rtsp 접속이 가능합니다 rtsp 포트번호는 따로 설정하지 않으면 기본값이 554입니다 한화 테크윈 : rstp://카메라IP:554/profile2/med..
파이썬 리스트 자료형 정복
파이썬에서 리스트는 순서를 가진 집합 자료형으로 아래와 같이 선언 할 수 있다. 다른 언어에서의 배열(Array)이라고 생각하면 된다. test = [] test = list() 리스트내 특정 항목이 있는지 검사 test 리스트 안에 'python' 이라는 문자열이 있는지 확인 test = ['java', 'html', 'python', 'coding'] if 'python' in test : print('존재합니다') 결과 : 존재합니다가 출력 두 개의 리스트를 합치기 a = ['가','나','다'] b = ['a','b','c'] c = a + b 결과 : c = ['가', '나', '다', 'a', 'b', 'c'] 간단하게 + 연산자를 통해 합칠 수 있다 리스트 인덱싱 및 슬라이싱 리스트 인덱싱..
Jetson Nano에서 Yolov5 구동하기
1. OS 설치 SD카드에 OS를 설치해줘야 한다. 필자의 경우 rufus-3.20를 통해 jetpack 4.5.1을 SD카드에 설치했다 jetpack 파일은 https://developer.nvidia.com/embedded/downloads 여기에서 다운로드 하면된다 2. 필요한 모듈 설치 및 환경 설정 Swap 공간 설정 필자가 사용하는 나노보드의 메모리 용량은 2GB이다. 여러분은 4GB의 나노보드를 가지고 있을수도 있지만 yolo를 구동하기엔 4GB로도 여유롭지 못한 상황이다 # 일단 업데이트를 해줍시다 sudo apt-get update sudo apt-get upgrade # nano editor 설치. 다른 에디터를 사용하셔도 무방합니다 jetpack엔 기본적으로 vi가 설치되어있습니다 s..
파이썬 답게 코딩해보자 if condition
pytorch를 공부하다가 아래 코드를 무작정 가져다 쓰기만 했다. 그러다 문득 변수 초기화할때 if문으로 변수를 지정하는것이 눈에 띄었다. device = 'cuda' if torch.cuda.is_available() else 'cpu' 대충 이해는 되었지만 정확히 알고 있는게 아니라 실제 코딩할때 자연스럽게 쓰이지 않더라 num = 0 state = '양수' if num > 0 else '음수' print(state) 변수 초기화 할때 두가지 경우의 수가 있다면 위와 같이 사용하면 좋을거 같다. 다만 elif 는 안되는거 같다..... 여기서 잠깐 if문 미세 팁을 드리자면 a = 1 if a > 0 : print('양수 입니다') elif a == 0 : print('0입니다') else : pr..