분류 전체보기 850

openCV를 이용한 간단한 이미지 조작

openCV를 이용하고 설치하는것은 굉장히 까다롭다. 이에대해 한페이지 무더기로 글을 쌌으므로 확인하도록 한다. 일단 이미지 로딩은 다음과 같다. 원본이미지는 다음과 같다. 그레이스케일로 이미지 불러오기 import cv2 import numpy as np image = cv2.imread('test01.jpg',0) 이렇게 하면 그레이스케일로 잘 로딩할수 있다. 다만 openCV에서는 괴상하게도 X를 누르면 잘 꺼지지가 않는다. 다음처럼 코딩해서 뭔가 그림이 꺼지게끔 해야한다. 실제 이미지 띄우기 cv2.imshow('image',image) cv2.waitKey(0) cv2.destroyAllWindows() 파이썬 코드는 단순한 C++의 코드의 wrapper클래스이기 때문에, 실제 C++ 구현방식을..

scikit-image를 이용한 간단한 이미지 불러오기

Scikit-Image 를 이용한 간단한 이미지 머신러닝. Scikit-image.org는 다음의 링크에서 참조를 한다. (mahotas라는 것도 있지만, 아예 컴파일도 안되고 불편하다.) http://scikit-image.org/ 이외에 ndimage 혹은 opencv를 이용하면 된다. 이미지는 다음과 같이 불러온다. 이미지는 인터넷에서 가져온 뭔 3d프린터 캐릭터 사진이다. 그냥 퍼오기 미안하니 삼디프린터는 저 사진에 나온 사이트로 문의 해라. from skimage import data, io, filters image = io.imread("test01.png") 이미지를 한번 출력해보면 matplotlib.pyplot으로 쉽게 출력 가능하다. import matplotlib.pyplot as ..

Scikit-learn Knn사용법 / 정규화 및 기능 정리

데이터에 대한 교차검증 KNNclassifier.fit(매개변수) classifier.predict(features[test])를 이용하면 쉽게 Knn을 구현할수 있다. Knn은 최근접 이웃분류로써, 훈련데이터에서 가장 가까운 예제를 사려보고 그 라벨을 반환한다. from sklearn.neighbors import KNeighborsClassifierfrom sklearn.cross_validation import KFold classifier = KNeighborsClassifier(n_neighbors = 1) # 데이터에 대한 교차검증 kf = KFold(len(features), n_folds=5, shuffle=True) means = []for train, test in kf :classif..

파이썬으로 간단한 실제 분류기 만들기

본 글은 Building Machine Learning Systems with Python을 보고 흐름을 따라갔습니다. Iris 는 심심할만 하면 나오는 예제로, 꽃받침 길이, 꽃받침 너비, 꽃잎 길이, 꽃잎 너비로 꽃의 형태학적 모양을 표현한 자료이다. 꽃을 구분하는것은 인간이 구분할수 있기 때문에 구분되었던게 당연하고 이를 컴퓨터가 잘 구분하여야 하는 문제이다. 일단 Iris라는 데이터는 이렇게 생겼다. iris 데이터 추출 from sklearn.datasets import load_iris data = load_iris() 위와같이 데이터를 불러온 후에, 데이터마다 구분해주기 featureNames = data.feature_names features = data.data targetNames =..

OpenCV 3 + 비주얼 스튜디오 + 윈도우즈10 설치

OpenCV는 굉장히 설치하기가 까다롭다. 기존 C++로 개발을 해보지 않았다면 머리가 아프다. JVM이나 각종 스크립트 언어는 인터프리터가 알아서 해주겠지만, C/C++은 플랫폼에 종속되기 때문에 빌드자체가 잘 안되기 마련이다. 설치를 하려고 그대로 블로그를 따라하려고 했다가는 각종 에러에 부딪히기 때문에, 구조를 알고 가자. OpenCV를 홈페이지에서 설치하면 다음과 같은 구조를 띄고있다. 출처 : 고락가락닷컴 source는 굳이 소스를 건드리지 않으면 일단은 제쳐둬도 된다. MakeFile을 통한 빌드가 필요하지 않다. 일단은 build되어있는 완성품을 이용해 본다. 여기서 약간 헷갈리는게, x64도 있고, x86이 있다. 자신의 기종에 맞게 선택해서 진행하면 되기는 하는데 나중에 비주얼스튜디오에서..

Numpy 및 Scipy 시작하기,

아래 내용은 building machine learning systems with python 서적을 보고 참고하며 흐름을 정리한 것이다. 굉장히 쉽고 잘되어있는 책이기 때문에 하나씩사보도록 한다. Numpy 는 다차원 배열 최적화 라이브러리, Scipy는 배열을 이용한 빠른 수치연산 기능제공을 한다. Numpy를 Import할때는, 기존의 스탠다드 리스트와 헷갈리지 않기 위해 import import numpy as np 이런식으로 import를 하도록 한다. 차원확인 In [13]: a = np.array([1,2,3,4,5,6]) In [14]: a Out[14]: array([1, 2, 3, 4, 5, 6]) In [15]: a.ndim Out[15]: 1 In [16]: a.shape Out[1..

Building Machine Learning Systems with Python

소장가치 : ★★★★☆ 원래 이 출판사에서 나오는 책들중 이렇게 디자인되서 나오는 책들은 표지도 그렇고 내용도 조금 부족한 번역서에 지나지 않는다는 기분을 느꼈는데, 이책은 파이썬을 알고있고 어느정도의 조금의 개념만 가지고 있어도 (개념을 가지고 있지 않아도) 충분히 머신러닝에 대한 개념을 얻을 수 있다. 솔직히 최근에 본 책들중 제일 쉽고 빠르게 적용할수 있도록 쓰여졌다. 기계학습 관련 책들은 대부분의 지면을 복잡한 선형대수와 알고리즘을 설명하는데 쓰이고 있어 직관성이 떨어지는 것이 사실이다. 이책은 그 어느책보다도 따라하기 쉽고 직관성이 높다. 번역의 질도 상당히 높은 편이다.

IT 서평 2015.11.28

openCV 주요 모듈

opencv_core 기본자료구조 및 연산함수 opencv_imgproc 주요 영상처리 함수 opencv_highgui 일부 사용자 인터페이스 opencv_features2d 특징점 검출기, 기술자, 특징점 매칭 프레임워크 opencv_calib3d 카메라 보정, 이중시각 기하학 추정, 스테레오 함수 opencv_video 움직임추정, 특징추적, 전경추출 opencv_objdetect 얼굴과 사람 검출기 등의 객체 검출기 openvb_ml 기계학습 openvb_flann 계산 기하학 알고리즘 opencv_contrib 기증 코드 opencv_gpu gpu가속 코드 opencv_photo 계산사진학 opencv_stitching 영상잇기

코딩 더 매트릭스 (Coding the Matrix)

소장가치 ★★★★ 컴퓨터 공학과 행렬이라는 주제는 뗄레야 뗄수 없는 관계처럼 보이면서도 참으로 재미없는 분야인것처럼 보이기도 한다. 사실, 기계학습등을 공부하기 위해 이러한 책을 은연중에 찾고있었으나 제대로 된 책을 찾기 힘들었다. 이책이 마케팅의 측면으로 자꾸 옆에 뜨는것은 보았으나 대체 제목이 뭔지 감이 안왔기 때문이다. 부제를 보면 감이 온다. Linear Algebra through Computer Science Application (컴퓨터과학 어플리케이션을 통한 선형대수) 책은 다소 비싸지만, 선형대수에 필요한 개념들은 정말 잘 정리해놓고 있다. 고등학교때 비슷한 개념을 짚고 넘어갔던 이과생들이야 조금 더 쉽게 접할수 있을듯 하다. 기본적으로 수학에 있어 고딩때 만지던 것들은 실제 숫자가 대부..

IT 서평 2015.11.28