본문 바로가기

Python

imgaug 라이브러리 사용 방법 classification이나 segmentation 작업을 위해 image augmentation을 하는 것은 그리 어려운 일이 아니다. 근데 object detection 영역으로 넘어오면 얘기가 달라진다. train image에 대해 augmentation을 진행할 때 ground truth도 같이 진행해줘야 하는데 이 과정이 까다롭기 때문이다. 예전에 잠깐 공부할 때는 flip, rotate, shift 등을 하나하나 직접 짜서 augmentation을 진행했었는데.. 우연히 회사 옆자리 연구원으로부터 imgaug 라이브러리를 알게되어 사용 방법을 정리하고자 한다. imgaug ? Image Augmentation을 위한 라이브러리다. 이곳에서 지원 augmentation 방법들을 확인할 수 있다.. 더보기
Python으로 지정 경로에 폴더 존재하는지 확인하고 없으면 폴더 생성하는 방법 간혹가다가 경로 설정을 해주면 해당 경로에 폴더가 존재하지 않는다는 에러를 만나게 된다. 이런 에러를 잡아주기 위한 코드라 할 수 있겠다. 핵심은 os.makedirs( ) 함수이데, 지정한 경로의 상위 경로마저 없는 경우 그것까지 만들어준다. import os def makedirs(path): try: os.makedirs(path) except OSError: if not os.path.isdir(path): raise​ 더보기
Anaconda, Python, CMD, 명령어 정리 1. 가상환경 생성 >>> conda create --name 원하는이름 python=원하는버전 (ex) conda create --name gpu1.12.0 python=3.6.5 2. 가상환경 리스트 확인 >>> conda info --envs 3. 가상환경 활성화 >>> conda activate 가상환경이름 (ex) conda activate gpu1.12.0 4. 모듈 다운로드 >>> conda install 모듈이름 (ex) conda install tensorflow-gpu=1.12.0 5. Dependencies 없이 원하는 모듈만 다운로드 >>> conda install --no-deps 모듈이름 or pip install --no-deps 모듈이름 (ex) conda install --.. 더보기
Python file 우클릭 시 context menu에 Anaconda 가상환경 idle 뜨게 하는 방법 파이썬을 설치하면 기본적으로 파이썬 파일 우클릭 시 context menu에 [ Edit with IDLE ] 이 생겨 바로 열어줄 수 있다. 근데 이게 아나콘다 가상환경을 사용하는 경우에는 안 뜨더라. 그래서 위 사진처럼 [ Edit with ENV -> Edit with GPU1.12.0 ] 을 통해 열어줄 수 있는 방법이 있나 하고 찾아봤다. 설정 방법은 다음과 같다. 실행 창에 regedit 입력 후 레지스트리 편집기를 띄운다. 컴퓨터\HKEY_CLASSES_ROOT\Python.File 을 찾는다. 기존에 있는 editwithidle / editwithidle\shell / editwithidle\shell\edit36 / editwithidle\shell\edit36\command 와 똑같이 .. 더보기
Python으로 시스템 변수 추가하는 방법 Code 1 2 import sys sys.path.append('C:/Users/Ballentain/Desktop/test') cs 설명 시스템 변수에 경로를 추가하면 무엇이 좋냐고 물어본다면, 파일을 import할 때 경로 신경 안 쓰고 바로 import해줄 수 있어서 좋다고 답할 수 있을 것 같다. 말로는 이해가 힘들다. 예제를 통해 살펴보자. test 폴더에는 train.py 와 obj 폴더가 들어있고, obj 폴더에는 trainer.py가 들어있다. [ train.py ]는 obj의 trainer.py를 import하게끔만 설정해 놨고, [ trainer.py ]는 실행 Hi 를 출력하도록 설정해놨다. 위와 같은 구조 아래에서 train.py를 실행하면 trainer.py가 import 되어 에.. 더보기
이미지 읽는 방법 / cv.imdecode( ), io.BytesIO( ) 이미지를 읽는 방법에는 여러가지가 있다. OpenCV를 사용해서 읽는 방법도 있고, PIL를 이용해서 읽는 방법도 있다. 그리고 최근에는 이미지 파일을 Binary 형태로 읽은 다음 ( = byte 단위로 읽는다는 의미 ) jpg로 decoding하는 방법도 있다는 걸 알게 됐다. 하나씩 그 사용법에 대해 정리해보도록 하자. 1. cv2.imread( ) import cv2 path = './test_image.jpg' img = cv2.imread(path) 내가 주로 사용하는 함수다. 2. PIL.Image.open( ) from PIL import Image path = './test_image.jpg' img = Image.open(path)​ 가끔 코드 검색을 하다 보면 접하게 되는 함수다. 직.. 더보기
Python으로 XML 파일 만들기 1. 간단한 설명 공부하던 중에 XML 파일을 만들어야하는 일이 생겨 알아보았다. 정의나 개념 같은 건 넘어가고 어떻게 구현하는 지만 정리해보고자 한다. Python에서는 XML을 표준 라이브러리로 지원하기 때문에 별도의 다운없이 바로 import해서 사용해주면 된다고 한다. 주로 사용하는 함수와 사용법은 아래와 같다. Element( ) 함수로 root tag를 잡고, 거기에 SubElement( )로 하위 tag를 추가하는 방식으로 작성하면 된다. ( XML을 잘 몰라서 tag라는 용어로 쓰는 건지도 잘 모르겠다..) SubElement( ) 함수는 반환값으로 객체를 반환하기는 하는데 굳이 변수를 만들어서 받아주지 않아도 된다. 하위 tag에 하위 tag를 또 추가하고 싶은 경우에만 반환값을 받아오면.. 더보기