본문 바로가기

[ 프로그래밍 ]/강좌

안드로이드 앱 개발 특강(심화) 1. HTML Parser의 사용 기상청 날씨 어플, 버스 운행시간 안내 어플 등 기존에 홈페이지에 공개되어 있는 자료를 바탕으로 프로그램을 제작할 때 필요한 기술로, Google이나 Naver와 같이 OPEN API로 JSON, XML 등의 데이터를 제공하는 사이트가 아닌 대부분의 일반 사이트에서 HTML 문서 내에 포함된 각종 데이터를 원하는 내용만 수집하여 저장. 참고자료 :  1) Jericho HTM..
안드로이드 앱 개발 특강 강의자료 암산왕 ver.1.0 소스코드 (Google AdMob 광고 포함)  암산왕 ver.1.0 소스코드 (Clean ver.)   다운로드 주소 : https://play.google.com/store/apps/details?id=net.martinblog.amsanwang 
문자인식 강좌 02. 문자영역 추출기법 - 1 첫 번째 소개할 문자 영역 추출 기법은 가장 고전적인 방법으로, 모폴로지 연산을 이용하여 문자 영역을 추출하는 방법이다. 모폴로지란 영상을 형태학적 관점에서 보고 접근하는 방법으로, 연산 결과를 눈으로 볼 수 있어서 이해가 쉽다는 장점이 있으며, 대표적인 모폴로지 연산의 예로는 침식(erosion)연산과 팽창(dilation)연산이 있다. 가. 침식(erosion)연산 침식연산은 연산의 이름에서 보듯 깍아나간다는 뜻으로, 정해진 영역(wi..
문자인식 강좌 01. 문자 인식 개론 안녕하세요 마틴입니다. 문자인식이라는 광범위한 주제의 강좌를 본격적으로 진행해 보고자 합니다. 사실, 문자인식 분야를 제법 오~래 공부해온 저 나름의 자존심 문제도 있고 해서, 어려운 논문들을 참조해가며 체계적이고 또한 학문적인 강좌를 진행하고 싶은 욕심이 컸지만, 금새 바닥을 보일 실력... 거짓말은 하지 말자는 생각에, 이야기 하기 쉽고 많은 사람들이 공감할 수 있는 내용들을 이곳에 정리해 가는 것이 원래 강좌를 시작한 취지에도 맞고 훨씬 ..
OpenCV 강좌 09. 마커에 동영상 삽입하기 예언자일보 프로젝트의 대미를 장식할 마지막 단계. 검출된 마커에 동영상을 삽입하는 방법이다. 동영상이라고 하는 것이 뭐 거창한 것 같지만 실제 형태는 스틸컷의 연결 정도로 보는 것이 적당하다. (MPEG 압축 등은 별개) 다시말해 모든 프레임을 이미지 형태로 가져올 수 있다는 말이다. 이렇게 매 프레임을 추출된 마커의 꼭지점 정보를 이용하여 변형한 뒤 원 영상에 삽입함으로써 일명, 예언자일보 프로젝트를 마무리 한다. 1. 변수 선언 - 동영상 파일..
OpenCV 강좌 08. 마커 추출 (3) - 마커 꼭지점 구하기 마커의 영역이 추출되면 그 마커의 윤곽선만을 추출해 낼 수 있으며, 이를 위해 OpenCV에서는 cvFindContours() 함수를 제공하고 있다. /* Retrieves outer and optionally inner boundaries of white (non-zero) connected    components in the black (zero) background */ CVAPI(int)  cvFindConto..
OpenCV 강좌 07. 마커 추출 (2) - 마커 검증 앞서 구한 '잡영이 제거된 영상'으로부터 이야기는 진행된다. 이번 장은 앞서 검출된 마커 후보영역들 중에서, 실제 마커영역이 가지는 특징을 가지는 것을 최종적으로 남기는 검증단계를 구현한다. 검증의 방법은 간단하다. 레이블의 내부에 홀이 있는지 없는지 파악한 뒤, 그 홀의 위치와 크기를 외부 레이블의 그것과 비교해 보고, 현재 레이블이 마커인지 아닌지 아래와 같이 구분해 내는 것이다. 1. 버튼추가 - 별달리 새로울 것도 없는. - 변수 이름을..
OpenCV 강좌 06. 마커 추출 (1) - 잡영 제거 본 장에서는 마커 추출을 위해 레이블의 크기정보를 토대로 잡영여부를 판단하고 이를 제거하는 방법을 소개한다. 1. 버튼 처리 - 단계적으로 결과를 보기 위한 체크박스 삽입 - 이진화를 해야 레이블링이 가능하고, 레이블링 이후에만 레이블링 통한 잡영 제거가 가능하도록 버튼 조작 (나중에 이런 부분들은 다 제거할 예정임.) 2. 레이블링 클래스에 잡영제거 루틴 추가 BlobSmallSizeConstraint(int nWidth, int ..