Development/Python 16

파이썬 % // -> ** @ 등 파이썬 기호 완벽정리

1. 파이썬에서 * ** 란? 파이썬에 * (asterisk, 일명 별표)는 곱하기(연산자) 외에도 몇 가지 다른 용도로 쓰일 수 있습니다. 1) 모든 것 * 일반적으로 프로그래밍에서 일반적으로 *는 모든 것(Everything)의 의미로 통용됩니다. 예를 들어, 다음처럼 쓰이곤 합니다. (아래의 예시 코드는 math 라는 라이브러리에서 모든 변수, 함수, 클래스를 가져온다는 의미입니다.) from math import * 하지만 이런 코드 습관은 안좋다는 의견이 많으니 참고해주세요. 2) 가변인자 *args **kwargs 보통 함수는 인자(argument)를 넣게끔 설계합니다. 이때 들어가는 인자의 개수를 한정하고 싶지 않을 때 *args (arguments)를 사용합니다. def girls_who_..

Development/Python 2023.08.17

openCV-Python 기초 사용법 -5- 카메라와 동영상 처리하기

v2.VideoCapture 클래스 OpenCV 에서는 카메라와 동영상으로부터 프레임 ( 을 받아오는 작업을 cv2.VideoCapture 클래스 하나로 처리함 카메라 열기 cv2.Videocapture(index,apiPreference=None) -> retva • index: camera_id + domain_offset_id 시스템 기본 카메라를 기본 방법으로 열려면 index 에 0 을 전달 • apiPreference : 선호하는 카메라 처리 방법을 지정 • retval: cv2.VideoCapture 객체 cv2.VideoCapture.open(index,apiPreference=None) ->retval retval: 성공하면 True, 실패하면 False 동영상, 정지영상 시퀀스, 비디오..

Development/Python 2023.08.04

openCV-Python 기초 사용법 -4- OpenCV 그리기 함수

OpenCV 그리기 함수 •OpenCV 는 영상에 선 , 도형 , 문자열을 출력하는 그리기 함수를 제공 •선 그리기 : 직선 , 화살표 , 마커 등 •도형 그리기 : 사각형 , 원 , 타원 , 다각형 등 •문자열 출력 그리기 함수 사용 시 주의할 점 그리기 알고리즘을 이용하여 영상의 픽셀 값 자체를 변경 원본 영상이 필요하면 복사본을 만들어서 그리기 & 출력 그레이스케일 영상에는 컬러로 그리기 안 됨 cv2.cvtColor() 함수로 BGR 컬러 영상으로 변환한 후 그리기 함수 호출 직선 그리기 cv2.line(img,pt1,pt2,color,thickness=None,lineType=None,shif=None) --> img • img: 그림을 그릴 영상 • pt1, pt2: 직선의 시작점과 끝점 . ..

Development/Python 2023.08.04

openCV-Python 기초 사용법 -2- 영상의 생성, 복사, 부분 영상 추출

지정한 크기로 새 영상 생성하기 numpy.empty (shape , dtype= float , ......) --> arr numpy.zeros (shape , dtype= float , ......) --> arr numpy.ones (shape , dtype= None , ......) --> arr numpy.full (shape , fill_value , dtype= None , ......) --> arr shape: 각 차원의 크기, (h,w)또는 (h,w,3) dtype: 원소의 데이터 타입, 일반적인 영상이면 numpy.unit8지정 arr: 생성된 영상(numpy.ndarray) 참고사항 영상의 생성 예제코드 import numpy as np import cv2 img1=np.empty..

Development/Python 2023.08.04

openCV-Python 기초 사용법 -1- 영상의 속성과 픽셀 값 참조

OpenCV는 영상 데이터를 numpy.ndarray로 표현 OpenCV 영상 데이터 자료형과 NumPy 자료형 영상의 속성 참조 예제 import sys import cv2 img1=cv2.imread('cat.bmp',cv2.IMREAD_GRAYSCALE) img2=cv2.imread('cat.bmp',cv2.IMREAD_COLOR) if img1 is None or img2 is None: print('Image load failed') sys.exit() print(type(img1)) print(img1.shape) print(img2.shape) print(img1.dtype) print(img2.dtype) h,w=img1.shape print('w x h = {} x {}'.format(w..

Development/Python 2023.08.04

OpenCV-Python 명령어 정리 (1 ~ 15)

OpenCV 명령어 정리 1. cv2.namedWindow(winname[, flags]) à None 설명: 윈도우 이름을 설정한 후, 해당 이름으로 윈도우 생성 winname(str): 윈도우 이름 flags(int): 윈도우의 크기조정 cv2.WINDOW_NORMAL | 값 0 | 윈도우 크기 재조정 가능 cv2.WINDOW_AUTOSIZE | 값 1 | 표시될 행렬의 크기에 맞춰 자동 조정 2. cv2.imshow(winname, mat) à None 설명: winname 이름의 윈도우에 mat행렬을 영상으로 표시함. 생성된 윈도우가 없으면, winname 이름으로 윈도우를 생성하고 영상을 표시한다. mat(numpy.ndarray) 윈도우에 표시되는 영상 (행렬이 화소값을 밝기로 표시) 3. c..

Development/Python 2023.08.04

[ python ] argparse 사용 방법. 예제.

사용법 먼저, 다음과 같은 python file 을 만든다. import argparse # 인자값을 받을 수 있는 인스턴스 생성 parser = argparse.ArgumentParser(description='Argparse Tutorial') # 입력받을 인자값 설정 (default 값 설정가능) parser.add_argument('--epoch', type=int, default=150) parser.add_argument('--batch_size', type=int, default=128) parser.add_argument('--lr_initial', type=float, default=0.1) # args 에 위의 내용 저장 args = parser.parse_args() # 입력받은 인자..

Development/Python 2023.07.31

Python - 자주 사용하는 Utils

서버에서 돌리기 위해서는 터미널 출력뿐만 아니라 더 안전하게 출력물들을 기록 해야한다. 또한 검색등을 활용 할 수 있으므로 텍스트 파일에 자세하고 알기 쉽게 많은것을 저장해 두자. 아니면 그냥 쉽게 print 함수를 쓰지 말고 의미 있는 성능들은 모두 logger로 보내자. LoggerPermalink import sys class Logger(object): def __init__(self, local_rank=0, no_save=False): self.terminal = sys.stdout self.file = None self.local_rank = local_rank self.no_save = no_save def open(self, fp, mode=None): if mode is None: mo..

Development/Python 2023.07.30

Python Decorator(데코레이터) @의 의미

python으로 작성된 코드들을 보다 보면 @로 시작하는 구문들을 볼 수 있습니다. @decorator_ def function(): print("what is decorator?") Decorator를 한마디로 얘기하자면, 대상 함수를 Wrapping 하고, Wrapping 된 함수의 앞뒤에 추가적으로 꾸며질 구문들을 정의해서 손쉽게 재사용 가능하게 해주는 것입니다. Decorator는 감싸고 있는 함수를 호출하기 전이나 후에 추가로 코드를 실행하는 기능을 갖췄습니다. 이 기능으로 입력 인수와 반환 값을 접근하거나 수정할 수 있습니다. 이 기능은 시맨틱 강조, 디버깅, 함수 등록을 비롯해 여러 상황에 유용합니다. Decorator는 어떤 경우에 쓰이는가? 메인 구문이 있고, 여기에 부가적인 구문을 추가..

Development/Python 2023.07.29