본문 바로가기

영상처리

개체 추적 1. 침입 탐지 프로그램(테스트 영상) 지능형 카메라 개발을 위해 개체 추적 관련된 논문을 읽고 쓰면서 만들기 시작한 프로그램. 어느새 논문보다 프로그램에 더 열을 올리고 있는 나를 보며 나는 학자 말고 개발자 해야겠다는 생각을 많이 하게 된다. - 물론 이것이 새 알고리즘을 적용하기 위한 필수 단계이긴 하지만. 이 프로그램은 개체 추적 프로그램의 첫 단계로 침입 탐지 및 알람용 프로그램이다. 제한된 영역으로 들어오는 침입자의 탐지가 주된 목적이며 차량 도난 위험 탐지, 전시물 회손 위험 탐지 등에 이용 될 수 있다. 아래는 USB-CAM을 이용해서 창 밖의 모습을 촬영한 테스트영상으로 차량 도난범 연기는 내가 직접........ ㅋㅋ 두 번째 영상은 http://groups.inf.ed.ac.uk/vision/CAVIAR/CAVIARDATA..
문자인식 강좌 02. 문자영역 추출기법 - 1 첫 번째 소개할 문자 영역 추출 기법은 가장 고전적인 방법으로, 모폴로지 연산을 이용하여 문자 영역을 추출하는 방법이다. 모폴로지란 영상을 형태학적 관점에서 보고 접근하는 방법으로, 연산 결과를 눈으로 볼 수 있어서 이해가 쉽다는 장점이 있으며, 대표적인 모폴로지 연산의 예로는 침식(erosion)연산과 팽창(dilation)연산이 있다. 가. 침식(erosion)연산 침식연산은 연산의 이름에서 보듯 깍아나간다는 뜻으로, 정해진 영역(window) 내에서 가장 작은 값을 픽셀 중심부의 값으로 바꾸는 최소값(min)필터의 역할을 한다. 이진영상에서는 객체(object)영역을 흰색으로 볼 때 이들 영역이 줄고 검은색 영역이 늘어나며, 그레이영상(또는 컬러영상)에서는 밝은 영역이 줄고 어두운 영역이 늘어나는 ..
OpenCV 강좌 08. 마커 추출 (3) - 마커 꼭지점 구하기 마커의 영역이 추출되면 그 마커의 윤곽선만을 추출해 낼 수 있으며, 이를 위해 OpenCV에서는 cvFindContours() 함수를 제공하고 있다. /* Retrieves outer and optionally inner boundaries of white (non-zero) connected components in the black (zero) background */ CVAPI(int) cvFindContours( CvArr* image, CvMemStorage* storage, CvSeq** first_contour, int header_size CV_DEFAULT(sizeof(CvContour)), int mode CV_DEFAULT(CV_RETR_LIST), int method CV_DEFAU..
OpenCV 강좌 05. 레이블링(Blob Labeling) 앞선 강좌에서는 OTSU 기법을 이용한 이진화 방법에 대해 알아보았다. 오늘은 이진화된 영상에서 각각의 컴포넌트들을 잘라낼 수 있는 레이블링에 대해 알아본다. 레이블링(Labeling)이란? 인접한 화소에 모두 같은 번호(Label)를 붙이고 연결되지 않은 다른 성분에는 다른 번호를 붙이는 일 1. 클래스 추가 2. 픽셀 방문 기록을 남길 구조체 및 각종 변수 선언 레이블링시 영상의 전체 픽셀을 검사하며 돌아다니게 되는데, 이 때, 해당 픽셀의 이전 방문 여부와 되돌아갈 곳의 위치를 저장하는 구조체를 선언한다. 또한 레이블링시 레이블이 저장될 이미지와 각 레이블의 정보가 담길 각각의 변수들을 선언한다. 3. 실제 레이블링 알고리즘의 구현 - 파라미터를 설정하고, DoLabeling() 함수를 실행함으로써..
OpenCV 강좌 04. 영상 이진화 하기 AR을 시작하면서 처음 떠오른 것이 바로, 해리포터에 나오는 신문(예언자 일보?)이다. 얼핏보면 일반 신문과 다를바 없는 신문이지만, 신문의 사진들은 사진이 아닌 동영상이다. AR 첫 주제로 해리포터 신문, 일명 멀티미디어 신문을 만들어보고자 한다. 원리 자체는 간단하다. 종이에 기사를 프린트하되, 영상이 들어갈 부분은 2D 마커로 대치한다. 캠이 기사를 비출 때 마커를 인식하여 그 마커 위에 영상을 뿌려주는 것이 과제의 전부이다. 본 장에서는 OpenCV를 이용하여 영상을 이진화하는 방법에 대해 살펴본다. OpenCV 설정 및 MFC 프로그램 기본에 대한 사항은 이전 글을 참고할 것 강좌 01. MFC로 OpenCV 시작하기 강좌 02. 다이얼로그(Static Control)에 이미지 출력하기 강좌 0..
초등학교 교실에서 만난 AR(증강현실) 열정적인 초등학교 선생님 한 분이 증강현실 기법을 이용하여 수업을 진행하고 있다. 본 영상은 장학사들이 왔을 때 했던 수업의 녹화영상이라고 하는데, 아이들은 이미 이 선생님의 이런 수업에 익숙해서 담담해 했는데, 참관온 선생님과 장학사들은 놀라서 뒤로 자빠졌다는 후문. 이런 열정적인 선생님들이 계시는데, 왜들 그리 공교육이 죽어간다고 난리들인지 모르겠다. 나중에 애 낳으면 학교 어찌보낼지 걱정하고 있었던 것도 사실이지만, 이 동영상을 계기로 해서 그런 걱정도 조금은 누그러졌달까. 당신 정말 최고! 작성자 : 태안 시골학교 김 모 교사... 투리니 님 출처 : OpenCV 대한민국 최고의 영상처리 커뮤니티
OpenCV로 구현한 자동차 번호판 인식기 OpenCV를 만지기 시작한지 석달째. 조금 무거운 감이 없지 않지만, 역시 꽤나 괜찮은 라이브러리임은 확실한 것 같다. 예전부터 공부/일해오던 분야인 자동차 번호판 인식을 시작으로, 프로그래밍감을 살려보려 하다보니, 석사논문 쓸 때와는 또 다른 환경(번호판 종류, 카메라의 변화)들이 나를 맞이한다. 덕분에 새로운 알고리즘의 개발은 필수가 되어버렸다. - 번호판 인식기의 껍데기 - 번호판 추출부와 번호판 인식부를 따로 떼어둔 것은, 추출부와 인식부의 알고리즘을 따로/동시에 개발했기때문이기도 하거니와, 추출된 후보영역 중 실제 번호판 영역을 선택하는 알고리즘이 명확하지 않음이 그 이유이다. 현재는 추출된 번호판 후보영역 모두에서 문자들을 추출해 내도록 하며, 일련번호 4자리에 대해서만 인식하도록 프로그램 ..
불법 주정차 단속 프로그램 - 테스트 영상 삼성테크윈에 납품을 위하여 BRIT(안명석)와 함께 개발했던 불법 주정차 단속 프로그램의 테스트 영상 도로의 영상을 찍고 있다가, 카메라에 자동차(번호판영역)가 인지되면, 번호판 영역으로 시선을 이동(줌)하여 번호판 영상을 획득한 뒤 이를 인식하고, 정황(위반장소) 영상을 촬영하여, 구청 DB와의 연계를 통해 차주에게 벌금이 과금된다. 특허정보 : 왜 내 이름은 없는거냐!! 쳇!