전체 글

전체 글

    이미지의 크기 변환 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..

    파이썬 답게 코딩해보자 List comprehension

    구글링을 하다보면 코드안에 한줄로 for문을 돌리고 if문을 쓰는 코드가 있는데 처음엔 이해도 안되고 만들고 있는 코드를 완성하기 위해 가져다 쓰기 급급했는데 나중에 알아보니 list comprehension 라고 한글로 리스트 표현식, 리스트 조건식이라고 불리기도 한다 나중에 헷갈릴때 다시 찾아보려고 작성하는것으로 정확하지 않을수도 있다. Python 공식 문서에서는 이렇게 정의한다 컴프리헨션은 하나의 표현식과 그 뒤를 다르는 최소한 하나의 for 절과 없거나 여러 개의 for 또는 if 절로 구성됩니다. 이 경우, 새 컨테이너의 요소들은 각 for 또는 if 절이 왼쪽에서 오른쪽으로 중첩된 블록을 이루고, 가장 안쪽에 있는 블록에서 표현식의 값을 구해서 만들어낸 것들입니다. 나와 같은 코린이는 이 글..

    셀레니움 Element 텍스트 값 가져오기

    selenium에서 특정 Element의 텍스트 값을 가져오는 방법입니다. (크롬 드라이버 기준) text 기본적으로 특정 Element의 텍스트 값을 읽을 때는 text 함수를 호출한다. text 함수는 엘리먼트의 text property를 읽는다. text = driver.find_element_by_css_selector('div').text print(text) div 안에 포함된 텍스트 값을 가져옵니다. get_attribute() get_attribute 함수는 매개변수로 지정된 element의 속성을 읽는다. 이 중 엘리먼트 내 문자열에 해당하는 속성은 innerText 정도인 것 같다. get_attribute로는 텍스트뿐만 아니라 href, src 등의 속성도 얻을 수 있다. text =..