🐍Python

    [OpenCV] 08-3-1. Understanding K-Means Clustering

    K-Means Clustering의 개념에 대해서 이해해보고, 어떻게 작동하는지 알아보자!Theory자주 사용되는 사례를 가지고 이해해 볼 것이다.T-shirt size problem시장에 새로운 티셔츠를 출시하고자 하는 회사를 생각해보자. 모든 사람들의 사이즈를 충족시키기 위해서 다른 사이즈의 모델들을 제조할 것이다. 그래서 아래의 그래프 처럼 사람들의 키와 몸무게를 시각화했다. 회사는 모든 사이즈의 티셔츠를 맞춤으로 만들어 줄 수 없다. 대신에, S,M,L사이즈로 나눈 3가지 모델을 통해 사람들의 사이즈를 맞춰 줄 수는 있다. 이렇게 사람들을 세 그룹으로 나누는 것은 k-means clustering이라고 하고, 알고리즘은 3개가 사람들..

    [OpenCV] 08-2-2. OCR of Hand-written Data using SVM

    이번 장에서는손글씨 분류를 kNN이 아닌 SVM으로 다시 해볼 것이다!OCR of Hand-written DigitskNN에서, 픽셀의 강도를 feature vector로 사용했었다. 하지만 이번에는 Histogram of Oriented Gradients(HOG)를 feature vector로 사용할 것이다.HOG : HOG는 object detection을 목적으로 하는 computer vision과 이미지 전처리에서 feature descriptor로 사용된다. edge의 gradient의 방향정보를 이용하기에 edge orientation histograms 방법과 유사하다.HOG를 찾기 전에, 먼저 이미지를 desk..

    [OpenCV] 08-2-1. Understanding SVM

    이번 장에서는SVM의 직관적인 이해를 도울 것이다!TheoryLinearly Separable Data빨강 / 파랑 두 가지 타입의 데이터가 존재하는 아래 이미지를 보자. kNN에서는 테스트 데이터에 대해, 학습 데이터들과의 거리를 측정하고 가장 최솟값의 거리를 갖는 것을 택했다. 이는 모든 거리들을 측정하는데 많은 시간이 들고 모든 학습 샘플들을 저장하는데 메모리도 많이 차지한다. 하지만 아래 이미지 처럼 데이터가 주어졌다면 그럴 필요가 있을까?? 한 번 다르게 생각을 해보자. 데이터들을 두 영역으로 나누는 f(x)=ax1+bx2+c 선을 찾아보자. 그리고 새로운 테스트 데이터 X를 받으면, f(x)에 대입시키면 된다. f(X)>0일 경우, 파란 그룹에..

    [알고리즘] 프로그래머스 - 탑 (스택/큐)

    문제 설명 수평 직선에 탑 N대를 세웠습니다. 모든 탑의 꼭대기에는 신호를 송/수신하는 장치를 설치했습니다. 발사한 신호는 신호를 보낸 탑보다 높은 탑에서만 수신합니다. 또한, 한 번 수신된 신호는 다른 탑으로 송신되지 않습니다.예를 들어 높이가 6, 9, 5, 7, 4인 다섯 탑이 왼쪽으로 동시에 레이저 신호를 발사합니다. 그러면, 탑은 다음과 같이 신호를 주고받습니다. 높이가 4인 다섯 번째 탑에서 발사한 신호는 높이가 7인 네 번째 탑이 수신하고, 높이가 7인 네 번째 탑의 신호는 높이가 9인 두 번째 탑이, 높이가 5인 세 번째 탑의 신호도 높이가 9인 두 번째 탑이 수신합니다. 높이가 9인 두 번째 탑과 높이가 6인 첫 번째 탑이 보낸 레이저 신호는 어떤 탑에서도 수신할 수 없습니다.송신 탑(높..

    [OpenCV] 08-1-2. OCR of Hand-written Data using kNN

    이번 장에서는OCR 기능을 만들기 위해서 kNN에 대한 지식을 이용해보고OpenCV와 함께 제공되는 숫자와 알파벳 데이터를 사용해볼 것이다.OCR of Hand-written Digits목표는 손글씨 숫자를 읽을 수 있는 기능을 만드는 것이다. 이를 위해 train_data와 test_data가 필요하다. OpenCV는 5000개의 손글씨 숫자인 digits.png 이미지(0~9까지 500개씩)를 사용한다. 각 숫자는 20X20 크기의 이미지이다. 먼저 첫 번째로, 이미지를 5000개의 다른 숫자로 나눠야한다. 각 숫자에 대해, 펼쳐서 400 픽셀의 한 줄로 만든다. 이것이 우리의 feature set이다. 예를 들어 모든 ..

    [알고리즘] 54. The Time in Words

    Given the time in numerals we may convert it into words, as shown below:At , use o' clock. For , use past, and for use to. Note the space between the apostrophe and clock in o' clock. Write a program which prints the time in words for the input given in the format described.Function DescriptionComplete the timeInWords function in the editor below. It should return a time string as described.time..