일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 데이터분석
- 중학1-1
- 정보처리기사실기
- 컴퓨터비전
- 중학수학
- 오블완
- 혼공머신
- html/css
- JSP
- 데이터베이스
- 자바 실습
- 정보처리기사필기
- 개발일기
- 자바스크립트
- 순환신경망
- 머신러닝
- 딥러닝
- SQL
- 컴퓨터구조
- rnn
- 연습문제
- JSP/Servlet
- JDBC
- 디버깅
- 파이썬
- CSS
- c언어
- 자바
- 자바스크립트심화
- 상속
- Today
- Total
목록비전에이전트 (10)
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
벌써 7시가 훌쩍 넘었지만 이 단원까지만 공부하고 새벽 공부를 마치려고 한다. 오늘도 새벽 2시 반에 일어나서 5시간 가까이 공부를 진행 중이다. 이것까지 하면 5시간이 조금 넘을 것 같다. 우편번호 인식기 v1. 실습해보기6장에서 재미있는 비전 에이전트 4개를 만들었다. 여기서는 사람이 필기한 우편번호를 인식하는 다섯 번째 비전 에이전트를 만든다. 필기한 우편번호를 인식하려면 필기 숫자 인식기가 필요한데, 이를 대비하여 프로그램 7-5의 42행에서 학습된 신경망을 dmlp_trained.h5 파일에 저장해두었다. 먼저 프로그램 7-7의 실행 결과를 보고 사용자 인터페이스를 파악하자. 5개의 빨간색 박스는 마우스로 숫자를 써 넣는 곳이다. e는 박스를 지우고, s는 박스에 숫자를 떼내어 명암 영상으..
이제 마지막 남은 두 문제를 풀어보려고 한다. 연습문제 풀기 세 번째 문제 5번프로그램 6-5에서 봉합한 영상을 보면 가장자리에 검은색 영역이 나타나는 현상을 확인할 수 있었다. 검은색 영역을 제외하고 오려내는 버튼을 추가하시오. 코드 실행해 보기 c를 눌러 캡처한 후에 파노라마 영상을 제작했는데 실패했다. 그리고 새벽에 했던 것처럼 다시 시도하기로 했다. 이번에도 재질이 극명하게 다른 류의 사진이라서 그런 것 같다. 총 4장의 영상을 캡처했다. 너무 길어서 뒷부분이 잘렸지만 파노라마 영상이 잘 출력되었다. 그리고 검은색 영역을 제거하는 버튼을 클릭했다. 검은색 영역을 제거하고 이어서 봉합을 해주었다. 근데 영상을 보니 전보다 더 거무스름해 보인다...
이어서 3번 문제부터 풀어보겠다. 연습문제 풀기 두 번째 문제 3번프로그램 6-3에 대해 다음 내용을 답하시오.(1) 이 프로그램은 버튼 → 버튼 → 버튼 순으로 클릭하면 제대로 실행된다. 하지만 버튼 → 버튼 순서로 클릭하면 오류가 발생한다. 오류 메시지를 제시하고 이유를 설명하시오.(2) 오류를 방지할 방법을 구상하고 프로그램을 개선하시오. 원래 코드 사진을 하나 저장하고 이 이미지를 불러왔다. 이제 문제를 풀어보자. (1) 버튼 → 버튼 → 버튼 순으로 클릭하면 제대로 실행되지만 버튼 → 버튼 순서로 클릭하면 오류가 발생한다. 오류 메시지를 제시하고 이유를 설명하기 정말로 파일 버튼을 누른 다음 페인트를 하지 않고 오림 버튼을 누르자 다음과 같은 오류가 발생했다...
새벽에만 컴퓨터 비전 공부를 하고 아침에는 다른 공부를 하느라 하지 못했다. 이제 오후에 3시간 정도 공부를 해볼 생각이다. 연습문제는 2시간 만에 풀어보고 나머지 한 시간은 7단원 진도를 나가봐야지. 연습문제 풀기 문제 1번프로그램 6-1은 삑 소리만 낼 수 있다. winsound 모듈이 제공하는 여러 가지 소리를 낼 수 있게 메뉴를 확장하시오.▶ 힌트 : winsound.PlaySound 함수를 이용한다. 문제 풀기winsound.PlaySound를 사용하면 더 다양한 소리를 재생할 수 있다. winsound.SND_ALIAS 옵션을 사용하여 시스템 기본 소리를 호출하거나, 파일 경로를 지정해 특정 음원을 재생할 수 있다. 아래 코드는 버튼을 추가해 다양한 소리를 재생하도록 확장한 예시이다..
이번에는 비디오 특수 효과에 대해서 공부해보겠다. 비디오 특수 효과프로그램 6-6을 조금 수정하면 비디오 버전으로 만들 수 있다. 비디오 버전에서 신경 쓸 점은 웹 캠을 통해 들어오는 초당 30프레임의 영상을 실시간으로 처리하는 일이다. 한 장을 특수 효과 처리하는 시간이 1/30초 이내라면 지연 없이 비디오를 디스플레이할 수 있다. 그렇지 않다면 지연이 발생한다.프로그램 6-7의 실행 결과를 보고 사용자 인터페이스를 확인해보자. 버튼은 웹 캠과 연결하여 윈도우에 비디오 영상을 디스플레이한다. 두 번째 메뉴는 콤보박스로 여러 특수 효과 중에서 하나를 선태할 수 있다. 비디오 영상에 특수 효과 처리하기 이 코드는 PyQt5와 OpenCV를 사용하여 실시간 비디오에 여러 특수 효과를 적용하고 화면에 ..
3장에서 필터로 컨볼루션을 수행하면 엠보싱이라는 특수 효과를 거둘 수 있음을 프로그램 3-7에서 확인했다. 여기서는 엠보싱뿐 아니라 카툰, 연필 스케치, 유화라는 특수 효과로 확장하여 GUI를 붙인 비전 에이전트를 제작해 볼 것이다. 특수 효과의 원리OpenCV는 특수 효과를 휘한 흥미로운 함수를 여러 개 제공한다. stylization은 카툰 효과, pencilSketch는 연필로 스케치한 효과, oilPainting은 유화 효과를 제공한다. sylization과 pencilSketch는 기본값이 설정되어 있어 생략해도 되지만 oilPainting은 기본값이 없으니 꼭 지정해야 한다. 특수 효과에 대한 설명은 다음 링크를 참고하면 된다. 특수 효과를 위한 함수 참고 자료stylization, pe..
이번에는 파노라마 영상을 제작하는 실습을 진행해보겠다. 사진 한 장에 다 담을 수 없는 멋진 장관을 만났을 때 카메라 시점을 조금씩 돌려 여러 장을 찍은 다음 봉합하여 파노라마 영상으로 제작하곤 한다. 파노라마 기능은 디지털 카메라에 내장되어 있고 스마트폰 앱으로도 제공된다. 여기서는 OpenCV를 이용하여 파노라마 영상을 제작하는 비전 에이전트를 만들어본다. 파노라마 제작은 이전 단원에서 소개한 SIFT 특징을 이용하여 구현할 수 있다. OpenCV는 여러 장의 영상을 주면 자동으로 파노라마를 제작하는 sitch라는 아주 편리한 함수를 제공한다. SIFT를 이용한 영상 봉합먼저 프로그램 6-5의 실행 경과를 보고 사용자 인터베이스를 확인해보자. 버튼은 웹 캠으로 영상을 수집할 때 사용한다. 버..
이번에는 교통약자 보호구역 알림에 대한 비전 에이전트 실습을 진행해 보겠다. 어린이, 노인, 장애인과 같은 교통약자에 대한 보호 정책이 강화되고 있다. 이들 보호구역에 설치된 교통 표지판을 컴퓨터 비전 기술로 인식하여 운전자에게 알리면 사고를 줄이는데 크게 도움이 될 것이다. 이전 장에서 다룬 SIFT 특징과 SIFT를 사용한 프로그램 5-4를 잘 활용하면 교통 표지판을 인식할 수 있다.블랙박스 또는 스마트폰을 통해 들어오는 동영상을 처리하면 좋겠지만 여기서는 사용자가 선택한 도로 영상에서 표지판을 찾는 일로 한정한다. 도로 영상에서 표지판 식별다음 프로그램에서 실행 결과에 있는 GUI 윈도우를 먼저 살펴보자. 버튼은 세 종류의 표지판 모델 영상을 읽어 등록하고, 버튼은 사용자가 도로 영상을 선택..
대화식으로 물체를 분할하는 기법인 GrabCut은 지난 단원에서 다루었다. 이 함수를 이용하여 물체를 오려냈었다. 사용자가 마우스 왼쪽 버튼으로 물체의 일부를 파란색으로 칠하고 오른쪽 버튼으로 배경 일부를 빨간색으로 칠하면 grabCut 함수가 물체 영역을 오린다. 관심 물체 분할이 프로그램은 사용자와 상호작용하면서 GrabCut을 반복 적용하여 사용자가 만족할 때까지 물체 영역을 오려내는 일을 지원하는 비전 에이전트다.먼저 프로그램 실행 결과를 살펴보자. GUI 윈도우에 버튼이 7개 있는데, 왼쪽부터 영상 읽기, 페인팅 시작하기, 오리기, 붓 크기 조정하기, 저장하기, 나가기를 담당한다. 버튼을 이용해 원하는 영상을 선택한다. 버튼을 클릭하면 붓칠이 가능한 상태가 된다. 실행 결과에서 사용자가 물..
저녁식사 후 6단원 학습을 시작해보려고 한다. 많이 하면 2시간 정도 할 수 있을 것 같다. 할 수 있는 데까지 해보자. 시작하기 전에컴퓨터 비전이 쓸모 있으려면 환경과 상호작용을 해야 한다. 아래 그림에 있는 배달 드론, 공장 조립 라인에서 불량품을 거르는 검사 시스템, 상차림을 인식하여 다이어트 조언을 하는 스마트폰 앱은 환경과 활발히 상호작용한다. 컴퓨터 비전이 환경과 상호작용하게 하려면 환경에서 영상을 획득하는 기능과 처리한 결과에 따라 환경에 영향을 미치는 기능을 적절하게 추가해야 한다. 이번 장에서는 사용자 인터베이스를 붙여 환경과 상호작용할 수 있도록 확장한다. 지능 에이전트로서 비전 에이전트경제학은 사람을 합리적 에이전트로 바라본다. 이 관점은 사람을 항상 최적의 의사결정을 하려 노력..