본문 바로가기

C# 윈도우 프로그래밍

(12)
AI 딥러닝 objectdetection YOLO c# 프로그래밍 이번장에서 설명할 것은 실시간 object detection의 어마어마한 속도를 자랑하는 yolo다. yolo란? You only look once 의 줄임말로 어마어마하게 빠른시간으로 실시간 object detection 으로써, 엔비디아의 파스칼 타이탄X 그래픽카드(GPU) 기준으로 COCO 테스트 데이터에서 30FPS로 무료 mAP가 57.9%를 기록했다. ​ 다른 디텍터랑 비교해보자면 위와 같이 엄청나게 빠른속도를 자랑하면서 정확도가 꽤 높은편이라는 걸 알수가 있다. ​ 이제 YOLO( you only look once) 는 2015년 처음 나온 알고리즘으로 뉴럴넷 프레임워크 다크넷의 창시자 Joseph Redmon이라는 사람이 1저자로 참여한 알고리즘으로써 기존의 object detection이..
Opencvsharp 탬플릿 매칭 c# (template Matching) opencv 이번장에서는 탬플릿 매칭을 opencvsharp을 이용해 진행하도록 하겠다. 자신의 플랫폼에 맞게 opencvsharp라이브러리를 nuget패키지에서 찾아서 추가하고 우선 간단하게 탬플릿 매칭에 대해 설명하면,(template matching) ​ 입력영상에서 탬플릿 영상과 일치하는 부분을 찾는 기법으로서 ​ 영상 좌측 상단에서부터 우측 하단까지 모든 부분과 비교해서 스캔 ​ 위처럼 탬플릿 이미지가 있을때 input 이미지에서 찾아서 검색하는데 단점으로는 회전 및 스케일링 된 물체의 매칭은 잘 안된다. ​ 영상의 밝기 등에 덜 민감하게 정규화 과정이 필요하다. ​ 탬플릿 매칭에는 6가지의 방법이 있는데 ​ 1. CV_TM_SQDIFF 픽셀의 제곱차를 이용하는 제곱차 매칭으로 탬플릿 T 를 탐색영역 I에서..
opencvsharp 실시간 마우스 처리 opencv c# 이번에 소개할 알고리즘은 opencv를 통해 영상에 실시간 사각형이나 텍스트를 표시하는 방법을 설명합니다 opencv에서 실시간으로 나오는 카메라 영상에다가 마우스 이벤트로 사각형과 글씨를 그릴수있는 방법은 우선 ​ 마우스 이벤트(pictureBox에 관한) private void pictureBox1_MouseDown(object sender, MouseEventArgs e) { } private void pictureBox1_MouseEnter(object sender, EventArgs e) { } private void pictureBox1_MouseLeave(object sender, EventArgs e) { } private void pictureBox1_MouseMove(object sen..
opencvsharp 영상처리 프로그래밍(1) c# opencv 이번장에서 알아볼것은 opencv를 통해 c#에서 영상을 어떻게 처리하는지 알아볼것이다. opencv(Open Source Computer Vision Library)가 먼지 간략하게 설명하자면, ​ 크로스플랫폼(Windows, Linux, OS X(Mac),iOS,Android) 과 실시간 이미지 프로세싱에 중점을 둔 라이브러리로서 상업적 사용이 무료이다.(가장 큰 장점) ​ 처음에 Gary Bradsky라는 사람에 의해 1996년 인텔이 개발을 주도했으나, 지금은 인텔은 손을 완전히 뗀 상태고, 이후 Vadim Pisarevsky, Stanley, Willow Garage등 많은 사람들이 이 프로젝트를 리딩했었고, C언어만 지원했던 1.x버전에서 2.x버젼부터는 스마트 포인터 스타일을 활용해 c++을..