반응형

개발/Computer Vision 32

[OpenCV] 화재 인식 프로그램 개발 중

이번 2017년 3학년은 이 프로젝트를 끝으로 OpenCV 를 더 이상 사용하지 않을 것 같다. 이제 다른 것들을 공부해보고 싶어졌다. 이번에는 화재 인식 프로그램을 개발하려고 한다. 여러 논문들을 읽어보았는데 불 인식까지는 내가 구현할 수 있을 것 같은데 연기를 인식하기 위한 연기 움직임 추정? 하여튼 연기 인식은 엄청 간단한 알고리즘으로만 구현할 수 있을 것 같다. 아직 많이 부족한 것 같지만 더 이상 OpenCV 만 붙잡고 할 수는 없다. [사진 1: 화재 인식 프로그램 개발 중]

[OpenCV]findContours를 이용한 윤곽 검출

[그림 1: 윤곽 검출] 손 끝 인식에 한 발자국 더 나아갔다. 새벽 4시까지 오류만 붙잡다가 그래도 결과물이 나와서 다행인 것 같다. 이제 윤곽을 손 영역만 따기 위한 준비를 해야한다.. 손 검출에 대해서 생각해보았는데 그래도 가장 쉬운 방법은 손을 학습시켜놓은 haar cascade 파일을 이용하는 것이 라고 생각하기 때문에 이따가 xml 파일 찾아봐야겠다. 사실 아까 찾아봤는데 오류가 발생해서 손 검출 수를 출력시켜보니 약 1억8천개가 출력이 돼서 코드 삭제하고 접었다. 다시 찾아봐야겠다.

[OpenCV]findContours() 함수 오류 해결법

별것도 아닌 오류로 인해서 2시간을 날렸다. 기분이 좋다. 자꾸 findContours 함수에서 오류가 발생했다. 아니 터졌다. 버펑퍼어엎엎ㅇ인자값도 다르게 넣어주고, findContours 함수는 이미지 채널을 1개 가지고 있는 것만 된다고 하니 GRAY로 바꿔주고 threshold 함수를 사용하기도 했지만 오류는 터졌다. [그림 1: 나쁜 findContours 함수] [그림 2: 삭제] opencv_world310.lib를 삭제하자 왜 그런지는 나도 모른다.

[OpenCV]손 중심 검출

손 끝 검출을 하기 위해서 먼저 손 중심을 검출해보았다. 내 생각은 노트북 웹캠이라서 인식을 잘 못할 것이라고 예상하고 손 중심의 일정 좌표 이내에 검출되는 것을 손 끝이라고 정할 생각이다. 그리고 손 중심을 검출하면서 느낀 건데 손 검출을 하기 전에 먼저 손 인식부터하고 손 검출을 하던지 손 끝을 검출하던지를 해야할 것 같다. 자꾸 내 인중을 손 중심이라고 검출해서 기분이 나쁘다. [그림 1: 손 중심 인식] 화장실 코딩 ㅠㅠㅠㅠㅠ

[OpenCV]모폴리지 연산 적용시키기 (열림 연산)

손가락 끝을 인식시키기 위한 과정으로 손 검출을 하고 있던 중, 웹캠이 이상한거지 코드가 이상한거지 잡음이 심해서 모폴리지 기법이라는 것을 알게 되었고, 그 기법을 직접 적용해 보았다. 먼저 나는 흔히 말하는 열림 연산을 적용시켰다. 이 열림 연산은 침식 연산을 한 다음, 그 결과에 또 다시 팽창 연산을 시키는 것이다.이 결과로 인해 이미지에서 잡음과 돌출 부위들이 제거되지만 물체의 크기는 보존이 된다고 한다.

[영상처리, 컴퓨터 비전] 모폴리지 연산

모폴리지는 영상을 형태학적 관점에서 보고 접근하는 방법이라고 한다.이 기법은 영상처리에서 영상 내에 존재하는 특정 객체의 형태를 변형시키는 용도로 사용된다. 주로 이진 영상 처리를 할 때 사용하는데 컬러 영상에서도 가능하다고 한다. 컬러 영상에서는 다음에 다시 한 번 이야기를 하도록 하겠다. 필자는 이 모폴리지 기법을 통해 영상에서 잡음을 제거, 객체의 모양을 기술하는 용도로 사용을 할 것이다.대표적으로 모폴리지 기법에는 침식, 팽창, 열림, 닫힘 등의 연산 기법들이 있다. 필자는 아직 수학적 지식이 부족하므로 설명을 잘 하지 못하겠으니 수학적 내용으로는 알아서 공부하길 바란다. 필자도 따른 블로그나 강의를 보면서 공부했다. [모폴리지 연산 - 팽창] 필터의 크기 및 사용 횟수에 따라 객체 내부에 있는 ..

반응형