[Pycharm] 파이참에서 Live Template 만들기(코드 조각, snippet)Live Template자주 사용하느 코드를 매번 직접 작성하지 않고 자동으로 작성해주는 방법입니다.예를 들어 아래와 같은 main 코드를 매번 직접하는 것이 번거로울 수 있습니다.pycharm에서 제공하는 live template에 이용하여 자동으로 작성할 수 있습니다.if __name__=='__main__: main()추가 방법pycharm 환경설정에 들어갑니다. (Mac 기준 cmd+,)Editor - Live Template에 들어가면 원하는 프로그램 언어별로 내장된 template이 있습니다.그 중 Python 부분을 보시면 몇가지가 있는데 위에서 말한 main(if __name__=='__main__')도..
[Python] cvlib로 얼굴인식(성별, 나이) 예측하기cvlib 란?파이썬에서 얼굴, 객체 인식을 위한 사용하기 쉬운 라이브러리이다. opencv와 tensorflow를 사용하고 있기 때문에, 이 라이브러리를 사용하려면 위 2개를 설치해야 한다.$ pip install opencv-python tensorflow소스코드얼굴인식얼굴인식은 opencv의 dnn 모듈을 사용하여 사전에 학습된 모델로 inference해준다. 별다른 것 없이 cv.detect_face()함수면 쉽게 사용할 수 있다. 이 함수로 반환되는 결과는 얼굴의 좌표들과 예측된 얼굴 각각의 confidence이다. 예측된 얼굴 좌표는 (xmin, ymin, xmax, ymax) 순으로 반환된다. confidence는 0~1사이의 flo..
[Python] opencv로 얼굴인식 하기Haar Featureopencv 에서는 haar feature를 이용한 얼굴인식 코드를 제공한다. haar feature는 영상에서 object detection을 하기 위해 나온 것으로 2001년에 "Rapid Object Detection using a Boosted Cascade of Simple Features"라는 논문에서 제안되었다. 아래와 같은 커널을 convolution 연산을 통해 feature를 구한다.Haar Cascade Classifierhaar cascade classifier는 영상을 windowing 하면서 haar feature들을 순차적으로 여러 stage로 검사하여 face가 아니면 이후는 보지도 않고 버려 버린다. 모든 fe..
[Python] SSL: CERTIFICATE_VERIFY_FAILED 에러 해결에러Python에서 특정 url로 request하거나 urlopen시 아래와 같은 에러가 발생하는 경우가 있다. [SSL: CERTIFICATE_VERIFY_FAILED] 라는 에러 메시지가 함께 뜨는데, 이때 해결 방법을 알아본다.해결방법request하기 전에 아래와 같은 코드를 미리 작성하면 해결 된다.import ssl ssl._create_default_https_context = ssl._create_unverified_context참고자료[stackoverflow] urllib and “SSL: CERTIFICATE_VERIFY_FAILED” Error
[ML] Pycaret으로 ML모델 쉽게 만들기Pycaret이란?pycaret이란 AutoML을 하게 해주는 파이썬 라이브러리입니다. scikit-learn 패키지를 기반으로 하고 있으며 Classification, Regression, Clustering, Anomaly Detection 등등 다양한 모델을 지원합니다. 공식문서에 설명이 매우 잘 되어있고, 몇 줄의 코드로 쉽게 구현이 가능하여 유용하게 사용할 수 있을 것 같습니다.1. 데이터셋 준비, setuppycaret에서 제공하는 get_data 함수로 juice 데이터를 불러오겠습니다. 데이터를 불러오면 자동으로 .head() 를 실행해 5개의 row를 출력합니다.from pycaret.datasets import get_data dataset..
[영상처리] 모자이크 처리하기 (OpenCV-Python)모자이크 처리영상에서 특정 영역을 작게 축소했다가 다시 확대하면 원래의 픽셀과 비슷하긴 하지만, 보간법에 의해서 연산한 결과로 선명도가 떨어져 뿌옇게 보인다. 보간법 알고리즘으로 cv2.INTER_AREA를 사용하면 아래의 코드 예시에서처럼 저해상도 픽셀처럼 된다.코드opencv에서 제공하는 cv2.selectROI() 함수로 ROI를 쉽게 선택할 수 있다. 이후 해당 부분을 축소, 확대하여 선명도가 깨지는 부분으로 변경한다.import cv2 rate = 15 title = 'mosaic' img = cv2.imread('imgs/taekwonv1.jpg') while True: # 마우스 드래그로 ROI 선택 x, y, w, h = cv2.se..
[영상처리] 원근 변환 Perspective Transform (OpenCV-Python)원근 변환원근 변환(perspective transform)은 보는 사람의 시각에 따라 같은 물체도 먼 것은 작게, 가까운 것은 크게 보이는 현상인 원근감을 주는 변환이다. opencv에서 변환 전과 후를 짝짓는 4개의 매핑 좌표만 지정해 주면 원근 변환에 필요한 3x3 변환행렬을 계산해주는 cv2.getPerspectiveTransform() 함수를 제공한다. 이 함수를 이용하여 얻은 변환행렬을 cv2.warpPerspective() 함수를 이용해 적용한다. 코드아래 코드는 이미지에서 마우스로 4개의 꼭짓점을 클릭하면, 해당 영역에 대해 평면처럼 보이도록 원근변환을 해주는 코드이다.import cv2 import ..
Pyarrow로 csv데이터 빨리 읽기 (with Pandas) pyarrow아파치 애로우(Apache Arrow)라는 메모리 내 분석을 위한 개발 플랫폼인데, 빅데이터를 빠르게 처리하고 이동할 수 있도록 하는 일련의 기술을 제공하는 라이브러리를 파이썬 PyArrow를 통해 구현할 수 있다.기존의 pandas로 용량이 큰 csv파일을 로드하면 시간이 오래 걸리는데, pyarrow를 활용하면 시간 절약에 도움이 된다. pyarrow 설치pip을 이용하여 아래 명령어로 쉽게 설치 할 수 있다.$ pip install pyarrow csv 파일읽기아래 코드로 csv 파일을 읽어 pandas 데이터프레임으로 쉽게 변환할 수 있다.from pyarrow import csv df = csv.read_csv('dat..
[영상처리] Histogram Noramlize(정규화), Equalization(평탄화), CLAHE(opencv-python)Normalization(정규화)정의영상에서 특정 부분에 몰려 있는 값을 전체 영역으로 골고루 분포하게 하도록 만드는 방법을 Normalization(정규화) 라고 한다.적용 공식IN=(I−Min)newMax−newMinMax−Min+newMinI_N = (I-Min) \dfrac{newMax-newMin}{Max-Min}+newMinIN=(I−Min)Max−MinnewMax−newMin+newMinIII: 노멀라이즈 이전 값Min,MaxMin, MaxMin,Max: 노멀라이즈 이전 범위의 최소값, 최대값newMin,newMaxnewMin, newMaxnewMin,ne..
[영상처리] Histogram(OpenCV-python)히스토그램이란?히스토그램이란 뭐가 몇 개 있는지 개수를 세어 놓은 것을 그림으로 표시한 것을 말한다. 히스토그램은 영상을 분석하는데 유용하다. opencv python 코드cv2.calcHist 함수로 쉽게 영상의 히스토그램을 확인할 수 있다.cv2.calcHist(images, channels, mask, histSize, ranges[, hist[, accumulate]])Parameters: • image – 분석대상 이미지(uint8 or float32 type). Array형태. • channels – 분석 채널(X축의 대상). 이미지가 graysacle이면 [0], color 이미지이면 [0],[0,1] 형태(1 : Blue, 2: Gre..
- Total
- Today
- Yesterday