KNN 이란 무엇일까. KNN은 K-Nearest Neighbor의 줄인말이다. 라벨링 되어있는 데이터를 기준으로 어떤 데이터가 어떤 군집에 속하는지 알 수 있다. 즉, KNN은 거리를 통한 군집알고리즘이라고 할 수 있다. 위 이미지는 위키에 있는 KNN알고리즘을 설명하기 위한 그림이다.위 그림을 보면 무엇이 보이는가, 파랑색 네모와 빨간색 삼각형이 보이고, 가운데 녹색 원이 보인다. 녹색 원은 추가하고자 하는 데이터이며, 파랑색네모와 빨간삼각형은 이미 등록된 데이터이다. 이 데이터들은 이미 데이터 거리 기준으로 라벨링 된 것이다. 라벨링 된 데이터에 새로운 데이터를 추가하면, K값에 따라, 그 거리에서 가장 가까운 K개의 데이터의 라벨을 확인한다. K개의 값을 모두 확인하여 데이터 특성이 가장 많은 쪽..
이미지를 xml형식으로 저장하기 위한 방법은 무엇이 있는지 알아보자. 우선, 굉장히 쉬운 방법이 있다. cvSave()라는 함수를 사용하는 것이다. 저장하기 CvMat cm; cvSave( "xml_path/test.xml", &cm); 불러오기 CvMat* A1 = (CvMat*)cvLoad("xml_path/test.xml"); 하지만, 이런 방법을 사용하면, xml이 하나 만들어지는것 같다... xml에 내가 원하는 태그로 원하는 만큼 저장하기 위해서는 CvFileStorage 구조체를 사용하면 되는 것 같다. 저장하기 CvFileStorage* fs = cvOpenFileStorage("xml_path/test.xml", 0, CV_STORAGE_WRITE); cvWrite( fs, "mytag"..
C++에서 json파싱을 하기 위한 방법으로 JsonCpp를 많이 사용한다고 한다.라이브러리다. 이것을 사용해서 Json파싱을 할 수 있도록 설치 및 설정을 해보자. 우선, JsonCpp를 아래 링크로 들어가서 다운로드 받는다.http://sourceforge.net/projects/jsoncpp/ 파일을 다운받아 압축을 풀어보면, makefiles\vs71\jsoncpp.sln 을 연다. 이를 빌드하여 lib파일을 생성해야한다. 하지만, 바로 빌드하기 전에 설정할 것이 있다. 우선, sin파일을 열어보면 다음과 같이 3개의 프로젝트가 있을 것이다. (jsontest, lib_json, test_lib_json) "각각의 프로젝트 속성 -> 구성속성 -> C/C++ -> 코드 생성"에서 "런타임 라이브러..
- Total
- Today
- Yesterday