목록opencv (10)
DY의 세상구경
opencvsharp 3.1버전, visual studio 2015 사용. 연동 자체는 http://dyndy.tistory.com/261 여기에 포스팅. 포스팅과는 약간 다른 방법인데 쉽게 글로 설명하자면 WPF 프로젝트를 만든 후 솔루션 탐색기 -> 참조 오른쪽 클릭 -> Nuget 패키지 관리 -> 찾아보기 탭에서 OpenCvSharp3-AnyCPU 검색하여 해당하는 wrapper로 설치(여기에서는 opencv 3.1버전을 이용할 것이므로 해당하는 wrapper인 3.1 wrapper를 설치하였음) 하는 방법도 있다. 아무튼 연동이 끝났으면 우선 xaml로 가서 open file dialog를 열 버튼을 하나 드래그해서 만들어주고요즘은 파일을 드래그엔 드롭하여 여는것이 대세이므로..(?) 그것도 구..
개인적으로 WPF를 잠깐 써본적도 있고... 툴도 만들 계획이므로 opencv wrapper인 opencvsharp을 연동해 보았다. Visual Studio 2015 / opencvsharp 3.1기준 아마 2015버전의 VS를 사용한다면 nuget 패키지 매니저가 설치되어 있을 것이다.(아마 설치할때 디폴트 옵션을 사용했던가.. 추가로 설치한 적은 없으니 아마... 그럴 것..) opencvsharp github (https://github.com/shimat/opencvsharp)를 들어가 보면(2016.11월 기준) 3.1까지 지원을 한다. opencv최신버전을 모두 지원한다. nuget을 이용하여 설치를 누르면 설치하는 방법이 나오는데 아래와 같다. 한글 VS 기준으로 도구 -> NuGet 패키..
opencv를 이용하여 영상 부분 잘라내기 원하는 구간을 잘라낼 때 사용한다. opencv 3.1 기준. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657#include #include using namespace std;using namespace cv; #define input "input.avi"#define output "output.avi"#define startFrame 500#define endFrame 1000 int main(){ int iCurrentFrame = 0; VideoCapture vc = VideoCapture(input); if (!v..
이걸 사용할 일이 그다지 많지는 않을 것 같으나... 실험할 때 많이 사용할 수도 있을 것 같다. 개인적으로는 한가지 영상에 대해 여러가지 알고리즘을 이용해 테스트 한 결과영상 또는 중간영상을 뽑아냈을 때(동일한 영상이므로 전체프레임 수와 영상의 크기는 동일한 것으로 가정한다.)프레임별로 확인하고 싶은데 5개 알고리즘을 이용한다면 original영상까지 총 6개쯤 될텐데... 비디오플레이어를 6개 켜고 하기가 귀찮아서만들게 되었다.. 아마 opencv에서 지원하는 영상은 다 열릴것 같다. (주로 mpeg4 avi사용) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657..
영상에서의 객체인식, 분류 등등의 알고리즘을 연구하고 구현해보며 느낀건... 대단한 수학자나 연구자가 아니기 때문에... 알고리즘에 들어가는 파라미터값을 조금씩 바꾸며 최적의 값을 찾는다거나(물론 대단한 수학자라면 수학공식을 이용해 이론적인 최적해를 찾을 것이다. 부럽다..)또는 조금씩 수정해보며 다른 더 좋은 방법을 찾는 등의 일이 많다는 것이다. 구현을 해봤으면 이론은 이론이고 실제는 또 다르기 때문에 이런저런 변경된 사항 별로 실제로 눈으로 보거나 차영상 등을 이용해 실험결과를 확인해보고 뭐가 더 좋으니 마니 이런걸 기록해가며... 연구했던 것 같다. 물론 내가 멍청해서 그런것 같지만... 뭔가 진짜 머리가 좋은 분들은 수학공식으로 증명해가며 바로 딱 나오지 않을까..? 결국 이렇게 실험하다 보면...
opencv 3.1기준. dilate(팽창), erode(침식) 간단한 이론과 사용법 정리. 공부를 하다가 쓸일이 생겨 간단히 정리한다. Erode, Dilate 연산을 보통 모폴로지 기법이라고 한다. 위키에서 morphology에 대해 찾아보면...Mathematical morphology, a theoretical model based on lattice theory, used for digital image processing를 타고 들어가면 https://en.wikipedia.org/wiki/Mathematical_morphology에 자세히 설명이 되어있는데 영어인지라...대충... 기하학적인 구조의 분석과 처리를 위한 이론 및 기술이라고 한다. 영상내의 특정한 객체의 형태를 변형시킴으로써 작..
딥러닝을 이용한 image classification을 시험해보기 위해 이것저것 찾던 중...빠르고 가볍다는 yolo(http://pjreddie.com/darknet/yolo/)를 사용해 보기로 하였다. 생초보라 이것저것 보면서 공부를 하기는 했는데... 사실 봐도봐도 모르겠으므로... 무작정 설치해보고 결과를 보며 신기해하는걸로...yolo를 사용하기 위해서는 darknet을 설치해야 한다. darknet은 C와 CUDA로 짜여진 오픈소스 neural network framework이다. 관련 paper는 https://arxiv.org/pdf/1506.02640v5.pdf에서 확인 가능하다. 사실 능력이 안되는지라 읽어보기는 했는데 잘 모르겠다.. 신기방기 우선 opencv를 설치한 후에(설치방법 ..
우분투에 opencv 설치해 보았다. 2버전을 설치할까 고민하다가... 3버전을 먼저 설치해보았다. 2버전은 추후 필요하면 설치하는 것으로.. 1. g++, cmake를 설치한다. 12sudo apt-get install g++sudo apt-get install cmakecs 2. opencv를 다운받는다. (여기서는 3.1버전을 다운받았다.)http://opencv.org/downloads.html 3. cmake다운받은 opencv 압축을 해제하고 압축해제한 폴더로 간다.3.1버전 기준 폴더명이 opencv-3.1.0일 것이다. 1sudo cmake .cs 4. make 후 인스톨1sudo makecs꽤 오래 걸린다. 끝났다면1sudo make installcs하면 opencv 설치가 완료된다. 5..