목록AI (19)
개발 공부
import numpy as npimport cv2 #기울기 등을 변경해서 여러 형식으로 테스트하기 위해 함수를 만듭니다.def rotate(image, angle, center = None, scale = 1.0): # 다음은 이미지의 높이와 넓이 정보를 가져 옵니다. [:2]는 [0:2]와 같으면 0부터 1까지 이미지 배열값을 말합니다. h는 높이를 받는 변수이며 w는 넓이를 받는 변수입니다. (h, w) = image.shape[:2] # If the center is None, initialize it as the center of # the image if center is None: center = (w / 2, h / 2) #사용하는 함수는 cv2.getRotationMatrix2D(중심값,..
#이미지를 잘라서 이동하는 것을 해보자.# Import the necessary packagesimport numpy as npimport cv2 # 동일 작업이 반복되므로 함수를 하나 만들자.def shift(image, x, y): # Define the translation matrix and perform the translation #float32를 사용한다. float32는 부동 소수를 말하는데 컴퓨터에서는 자리수를 줄이기 위해 뒤를 생락해버리고 단축하여 표현한다. 물론 오차가 나지만 빠른 계산이 필요하고 오차를 허용하는 경우 사용한다. #예를 들면 100000000이라면 1.0 E8이라고 표현해버린다. float32는 32비트 가운데 E을 첫번째 부호비트 자리 뒤에 8비트에 넣고 나머지 숫자..
# USAGE# python drawing.py # Import the necessary packages#numpy는 파이션을 위한 수학 라이브러리라 생각하면 된다. numpy라고 길게 쓰면 힘드니 np라고 줄여서 쓰자,.import numpy as npimport cv2 # Initialize our canvas as a 300x300 with 3 channels,# Red, Green, and Blue, with a black background#np.zeros는 모두 공백으로 채운다는 의미다. 빈 종이로 만든다는 거다. 처음의 (300,300,3)은 300 * 300 픽셀 크기와 3채널(RGB 3가지 색을 사용한다는 의미)을 사용한다는 것이며 dtype는 데이터 타입을 말한다.#데이터 타입은 종류가..
import cv2#이건 opencv를 부르겠다는 의미입니다. 불어야 사용하쥬img = cv2.imread('newimage.jpg',cv2.IMREAD_UNCHANGED)#png 이미지의 경우 바로 부를 수 없고 채널 작업이 필요하다.# cv2.imread : 이미지를 부르는 함수입니다.# cv2.IMREAD_GRAYSCALE : 회색으로 불러온다는 것이지요. 0으로 써도 됩니다.# cv2.IMREAD_COLOR : 컬러로 불러 온다는 겁니다.# cv2.IMREAD_UNCHANGED : 이건 이미지 그대로 모든 정보를 가지고 부르겠다는 겁니다. #이미지를 불러 온다. 마지막 0은 색깔이다. 현재는 그래이로 인식하게 하자. # 배열을 만들어 볼까요?#opencv는 이미지를 조각내어서 행렬로 분류합니다. ..
In machine learning, the study and construction of algorithms that can learn from and make predictions on data[1] is a common task. Such algorithms work by making data-driven predictions or decisions,[2]:2 through building a mathematical model from input data. The data used to build the final model usually comes from multiple datasets. In particular, three data sets are commonly used in differen..
#Machine learningMachine learning is a subset of artificial intelligence in the field of computer science that often uses statistical techniques to give computers the ability to "learn" (i.e., progressively improve performance on a specific task) with data, without being explicitly programmed.[1] The name machine learning was coined in 1959 by Arthur Samuel.[2] Evolved from the study of pattern ..
0. 순서 - 1. 얼굴 인식을 위한 데이터베이스 생성 - 2. 얼굴 촬영 및 저장 - 3. Recognizer 훈련시키기 1. 얼굴 인식을 위한 데이터베이스 생성 먼저 SQLite 3를 이용하여 얼굴 이미지에 상응하는 이름을 저장할 DB를 생성해야한다. 작업 디렉토리에 createDB.py라는 파일을 만들고 아래 코드를 저장한다. import sqlite3 conn = sqlite3.connect('database.db') c = conn.cursor() sql = """ DROP TABLE IF EXISTS users; CREATE TABLE users ( id integer unique primary key autoincrement, name text ); """ c.executescript(sql..
1. 파이썬 가상환경(virtualenv) 설치하기 1-1. 가상환경이 필요한 이유 파이썬 프로그램에 사용되는 패키지와 모듈에는 표준(라이브러리)이 없다. 패키지는 여러 버젼이 존재하고, 이 때문에 각각의 어플리케이션에 각기 다른 버젼의 패키지가 사용되는 경우가 생긴다. 이는 충돌로 이어지는데 이러한 문제를 해결하기 위해 가상환경(virtual envrionment)을 구현하여 사용하게 된다. 자세한 사항은 여기서 확인. 1-2. 가상환경 설치파이썬 폴더(주로 user 아래 ~에 있음) pip 파일이 있는 폴더에서 아래 코드를 실행한다. pip install virtualenv* 설치 안하고도 실행 가능?$ python3 -m venv myvenv1-3. 가상환경 실행virtualenv의 설치가 끝났다면..
OPENCV 라이브러리 활용 얼굴인식 프로그램 만들기 OPENCV 설치하기 개발환경 정하기 1. OpenCV란? OpenCV(Open Source Computer Vision Library)는 컴퓨터 비젼(Computer vision)과 머신러닝에 최적화된 2500개 이상의 알고리즘으로 이루어진 오픈소스 소프트웨어 라이브러리이다. 2. 사용 범위 이는 아래와 같은 기술을 구현하는데 사용된다.- 얼굴 식별- 물체 식별- 동영상에서 사람의 행동을 구별- 카메라의 움직임 추적- 움직이는 물체 추적- 물체의 3d 모델링- 스테레오 카메라에서 3d 포인트 클라우드 생성- 이미지 스티칭(여러 이미지에서 중복되는 부분을 찾아서 붙이기)으로 고해상도 파노라마 이미지 만들기- DB에서 유사한 이미지 찾아내기- 플래시를 ..