[Python] 얼굴 인식
2021. 7. 24. 18:56
Python/Machine_vision
- OpenCV 와 haarcascade를 이용한 얼굴 인식 1. 사전 학습된 분류기인 haarcascade_frontalface_alt.xml 을 로드합니다. 2. 객체 탐지 알고리즘인 detectMultiScale 을 실행하기 위해 이미지 프로세싱을 합니다. 3. detectMultiScale 과 rectangle 함수를 이용하여 원본 이미지에 bbox를 그려줍니다. # harrcascade 기계학습을 이용한 객체 탐지 알고리즘입니다. CNN과 같은 신경망이 아닌, 하르 특징 (Haar Features) 계산을 통해 객체를 찾습니다. # 얼굴 찾는 모델 model_file = "face_det_pretrained/haarcascade_frontalface_alt.xml" # 모델 로드 clf = cv..
[Python] 손 글씨 인식
2021. 7. 24. 18:47
Python/Machine_vision
- OpenCV connectedComponentsWithStats를 활용한 손 글씨 인식 - 1. 손 글씨 이미지를 불러옵니다. 2. 이미지 프로세싱을 통해 글자는 흰색(255), 배경은 검은색(0)으로 만들어 줍니다. 3. connectedComponentsWithStats 함수를 이용해 글자를 인식합니다. 4. 인식한 글자에 bbox를 그려줍니다. # labeling 레이블링은 객체 구역을 영역 단위로 분석하는 것입니다. 서로 연결되어 있는 객체 픽셀에 고유한 번호를 지정하는 작업입니다. 일반적으로 이진 영상에서 수행합니다. 0은 배경 1 이상은 객체로 판단합니다. 객체들이 서로 연결되어 있으면 같은 번호를 지정합니다. # cv2.connectedComponentsWithStats 반환 값으로 re..
[Python] 계산기
2021. 6. 27. 16:48
Python/Basic
- Class를 활용한 계산기 구현 - class를 활용하여 간단한 예제인 계산기를 구현합니다. # 4칙 연산 가능한 클래스 FourCal class FourCal: # __init__ 은 클래스를 호출할 때 가장 먼저 실행되는 함수 # first, second 인자를 받음 def __init__(self, first, second): self.first = first self.second = second # 인자를 받아서 self.first 와 self.second에 저장한다. # self는 클래스 안에서만 사용가능한 멤버변수 def setdata(self, first, second): self.first = first self.second = second # add 함수 -> self.first + ..
[Python] MNIST
2021. 6. 27. 15:02
Python/Machine_learning
- RandomForestClassifier를 활용한 mnist 머신 러닝 및 confution matrix - 머신 러닝의 대표적인 예제인 mnist를 랜덤 포레스트를 활용 1. 데이터를 로드 2. 학습을 시킨 후 모델을 저장 3. 저장된 모델로 테스트를 진행하고 정확도를 도출 4. 모델의 출력 결과와 정답본을 비교하여 confusion matrix를 생성 5. confusion matrix를 시각화 # MNIST MNIST는 (Modified National Institute of Standards and Technology database)는 손으로 쓴 숫자들로 이루어진 대형 데이터 베이스이며, 28 x 28 픽셀로 된 60,000개의 트레이닝 이미지와 10,000개의 테스트 이미지를 포함한다. #..
[Python] 식단정보 크롤링
2021. 6. 20. 17:49
Python/Web_crawling
- Selenium을 활용한 학교 식단정보 크롤링 - 1. 크롬 드라이버를 통해 학교 식단 홈페이지에 접속 2. table로 이루어진 식단표에 접근하여 데이터를 받아 출력 시작하기 전에 자신의 chrome 과 맞는 버전의 chromedriver.exe 파일을 설치해, 실행하려는 코드와 같은 경로 상에 위치 import time from selenium import webdriver 필요한 라이브러리들 import time 라이브러리는 웹상에서 로딩하는 시간을 기다려주기 위함임 # 크롬 드라이버 실행 driver = webdriver.Chrome('./chromedriver.exe') # 주소 앞에 . 붙여서 chromedriver 실행 # 학교 식단정보 홈페이지 주소를 가지고 옴. driver.get("..
[Python] 소수판단 코드
2021. 6. 20. 14:39
Python/Basic
- for문과 if문을 활용한 소수판단 코드 구현 - 1. 테스트할 숫자를 userinput으로 받습니다. 2. for문을 돌면서 testNum을 testNum보다 작은 숫자들로 나누어 나머지가 0인지 확인합니다. 3. 나머지가 0이면 나누어 떨어지는 숫자가 존재하므로 소수가 아닙니다. 4. testNum보다 작은 숫자들 중 for문을 다 돌 때까지 나머지가 0인 숫자가 없으면 소수입니다. # 테스트할 숫자를 userinput 으로 받음 testNum = int(input('숫자를 입력하세요 : ')) # for 문을 이용해 testNum 보다 작을 숫자들을 소수인지 판단할 것임 # i --> 2 ~ testNum-1 for i in range(2, testNum): # testNum 을 i 로 나눴을 ..
[Python] 커피머신
2021. 6. 20. 13:35
Python/Basic
- while문과 if문을 활용한 커피머신 구현 - 1. 변수 설정 : 판매 가능한 커피의 개수(10개)와 커피 머신에 저장된 돈(0원)을 설정합니다. 2. 커피 머신에 넣을 돈을 userinput으로 받습니다. 3. userinput이 300원 이상이면 커피와 잔돈을 출력 후 커피 개수를 차감합니다. 4. userinput이 300원 미만이면 '금액이 부족합니다' 문구 출력 후 2번으로 돌아갑니다. 5. userinput이 0이면 프로그램 종료합니다. 6. 위 과정을 커피가 남아있을 때까지 반복합니다. # 커피의 개수와 커피머신에 저장된 돈을 확인하기 위한 변수 설정 coffee = 10 save = 0 # 커피가 남아있으면 반복 while coffee > 0: # userinput 으로 넣을 돈을 입..