천상낙원

'DoItMyself'에 해당되는 글 4건

  1. 영상처리를 이용한 악보 인식 6
  2. GML을 이용한 지도 서비스 3
  3. 모의 수강신청
  4. 배차 관리 시스템 (Marshalling of Cars)

영상처리를 이용한 악보 인식

DoItMyself
개요
음악 분야에서도 전산화의 필요해짐에 따라 음악(악보) 데이터베이스의 구축이 필요해졌다. 기존의 키보드, 마우스를 이용한 수동 입력 방식은 많은 시간이 소요되며 오입력되는 경우도 많이 발생했다. 인쇄된 악보를 스캐너 등을 통해 입력 받고 입력된 이미지를 이용하여 악보의 정보를 인식하고자 한다. 영상처리와 패턴인식을 통하여 원하는 정보를 인식함으로 입력에 필요한 노력을 최소화하고 입력을 자동화할 수 있다. 또한 전산화된 악보정보를 목적에 맞는 정보로 변환하여 다양한 분야에 응용이 가능하다.

개발 환경
운영체제 : Windows XP
사용언어 : C++ (MS Visual Studio .Net)
라이브러리 : OpenCV

악보 인식기 기본 구조
사용자 삽입 이미지

악보 인식기 기본 구조



악보 인식 과정
1. 악보 이미지 전처리 (기울기 보정 및 노이즈 제거)
2. 오선 인식 및 제거
3. 각 인식 영역 설정
4. 기본 영역 (음자리표, 조표, 박자) 인식
5. 음표 영역 인식
    a. 음표 / 기호 분류
    b. (각 인식기를 통한) 음표 및 기호 인식
6. 가사 인식
    a. 한 글자별 분리
    b. 각 글자 인식
7. 인식된 악보 표시
8. 인식된 악보 연주

'DoItMyself' 카테고리의 다른 글

GML을 이용한 지도 서비스  (3) 2006.08.16
모의 수강신청  (0) 2006.02.14
배차 관리 시스템 (Marshalling of Cars)  (0) 2006.01.23

GML을 이용한 지도 서비스

DoItMyself
2006년 5월부터 7월까지 약 3개월간 현재 제가 속해있는 연구실에서 GML Veiwer를 제작하였습니다. GML Veiwer를 만들면서 새로운 분야에 대해서 공부하고 배울 수 있는 기회가 되었네요. 후기랄까? 만들면서 느꼈던 내용을 기록하고자 합니다.
----------------------------------------------------------------------------------

먼저 GML에 대해서 알아보겠습니다. Generalized Markup Language이 아니라, Geographic Markup Language입니다. 한글로는 지리 생성 언어(地理生成言語)라고 하면 되구요. 네이버 사전에서는 GML을 다음과 같이 정의하고 있네요.
지리 정보의 상호 운용성 제고를 위해 OGC(Open GIS 컨소시엄)가 개발한 XML 기반의 지리 정보 인코딩 언어. OGC는 세계 수많은 회사, 정부 기관, 대학 등 지리 정보 산업체들이 주축이 된 민간 GIS 표준 기관으로, 1988년부터 GML을 개발하기 시작했다.
XML(eXtensible Markup Language)은 W3 Consortium에서 웹 기반의 구조화된 문서를 기술하기 위해 표준화한 것으로, 확장성과 유연성이 매우 뛰어나다는 특징을 가지고 있습니다. OGC에서는 XML의 확장성과 유연성이라는 특징을 가지고 여러 가지 장점을 GIS 분야에 도입하고자 합니다. 그 산물이 GML인거죠. 1999년 12월에 GML 버전 1.0을 제시하였고, 현재는 .버전까지 공개된 상태입니다.

쉽게 말해서 GML은 그냥 지도를 표현하기위한 표준 언어라고 보면 될꺼 같습니다.

그렇다면 GML Viewer의 목적은 무엇일까요? 네, 간단히 말해서 지도를 보여주기 위해서입니다.

GML을 이용해서 지도 서비스를 함으로서 여러가지 이득이 생기게됩니다. 기존의 GIS시스템을 보면 비트맵 형식의 그림파일로 보여주고 있는데 많은 양의 지도를 모두 그림 파일로 가지고 있어야 한다는 말이 되겠죠. 이로 인해, 많은 용량의 저장공간이 필요함은 물론이고 지도를 수정/추가하기 어려울뿐아니라, 제작시간또한 오래 걸리겠죠.

과거에는 각각의 GIS엔진에 따라서 다른 형태의 지리 데이터를 구축하고 활용했습니다. 때문에 구축 시간이나 비용이 엄척났었죠. 따라서 몇몇의 일부 사용자들만이 GIS를 사용할 수 있었습니다. 하지만 현재에는 인터넷, 네비게이션 등 주위 일상에서의 요구가 급속히 증가하고 있습니다. 지리 데이터를 표준안으로 채택된 GML을 이용함으로서 구축 시간과 비용을 상당부분 줄일 수 있다는 장점을 가지게 됩니다.

이제 그럼 저희가 만들어본 GML뷰어의 개략적인 구조에 대해서 살펴보도록 하겠습니다.

저희 GML뷰어는 Client - Server 구조를 이루고 있습니다. 지도 데이터를 보관하고 있는 서버와 서버에서 데이터를 받아서 화면에 보여주는 클라이언트로 나누어져있습니다.

먼저 서버는 GML 문서를 파싱하여 GigaBase라는 데이터베이스 라이브러리를 이용하여 데이터를 저장/ 관리하고 있습니다. 또한 기가베이스에 지원해주는 라이브러리(SubSQL, 소켓이용)를 이용하여 클라이언트와 통신합니다.

클라이언트에서는 SubSQL과 대응되는 CLI를 이용해서 서버로부터 지도 데이터를 받아옵니다. 그리고 받은 데이터를 이용해서 화면에 보여주는 일을 합니다.

혹시라도 관련하여 궁금한 내용이 있으시거나, 저희에게 조언을 해주실 분들 계시면.. 덧글 남겨주시면 감사하겠습니다.

'DoItMyself' 카테고리의 다른 글

영상처리를 이용한 악보 인식  (6) 2007.02.12
모의 수강신청  (0) 2006.02.14
배차 관리 시스템 (Marshalling of Cars)  (0) 2006.01.23

모의 수강신청

DoItMyself


<모의수강신청 0.11> - 제가 만들어본 모의 수강신청입니다.

# 사용법

1. 우선 로그인한 뒤에
2. 미리 입력된 과목을 클릭하여 시간표에 넣어주면됩니다.
3. 입력된 과목을 삭제하고자 할 경우에는 시간표상의 교과목명을 클릭하면 됩니다.

* 다만, 현재까지는 과목 입력은 직접 DB에 해주어야합니다. (추후 수정예정)
* 사용해보기 (현재 전북대학교 전자정보공학부 06년도 1학기 내용이 일부 입력되었습니다.)
* 사용 테스트 아이디/암호는 test/test입니다.

# DB구조

1. course_curriculum - 총 교과목
2. course_application - 신청한 교과목
3. course_memeber - 사용자

# DB입력 주의사항

시간입력은 요일시간 형태로 해주시면 됩니다.
월3 월4 수3 의 형태로 수업별로 3~4시간을 입력할 수 있습니다.

# 수정사항

1. logout 추가
2. 월요일1교시 입력시 시간 중복 오류 수정
3. 과목별 신청인원 표시


궁금한게 있는데요. 아시는 분 계시면 답글 달아주시면 감사하겠습니다.
select 태그에서 onChange 이벤트 발생시 페이지를 새로 고침하는 것이 목적입니다. 이를 위해서 자바스크립트의 location.href(url) 함수를 사용하고 있습니다. 그런데 IE에서만 되고 FF에서는 작동하지 않습니다. 어떻게 조치할 수 있을까요?
자문자답이네요. location.href = url 이렇게 쓰니 되는군요.

'DoItMyself' 카테고리의 다른 글

영상처리를 이용한 악보 인식  (6) 2007.02.12
GML을 이용한 지도 서비스  (3) 2006.08.16
배차 관리 시스템 (Marshalling of Cars)  (0) 2006.01.23

배차 관리 시스템 (Marshalling of Cars)

DoItMyself
작년에 만들었던 배차관리 시스템입니다.
솔직히 맘에 들지도 않을뿐더러 버그 투성이라 사용할 수도 없습니다-_-;;
또한 IE에서만 정상적으로 작동합니다-_-;;
최근 버젼을 어디에 둔건지.. 사라져버렸습니다. OTL..
시간을 두고 서서히 발로 짠 소스를 곱씹어 보며 고쳐봐야 겠습니다.
아래는 개발 전에 제출했던 계획서입니다.


1. Marshalling of Cars 개발 계획

아이템 명 Marshalling of Cars

아이템 개요
복잡한 화물 업무를 손쉽게 전산화시킬 수 있는 프로그램입니다. 한 번의 배차일보 등록으로 다양한 기능을 통해 많은 자료를 한꺼번에 관리할 수 있습니다. 또한 간단한 회계 입력으로 차량별 경비내역과 급여 지급 내역 등의 각종 회계 자료를 담당자가 없이도 손쉽게 관리할 수 있습니다. Marshalling of Cars는 고객 관리, 일정 관리, 견적서 관리, 등 화물 업무에 필요한 각 기능들을 포함합니다.

사업 전망
기존의 프로그램은 단일 컴퓨터에서의 작동으로 인해 다수의 사용자가 사용하기에는 어려움이 많고 데이터의 효율적인 관리가 힘들었으나, 인터넷을 통한 관리로 편리하고 효율적인 관리가 가능하게 되었습니다.
본사는 물론 지사에서 입력된 데이터를 데이터베이스화하여 본사에서 신속하고 효율적으로 운영할 수 있도록 설계되었습니다. 또한 사무실은 물론 퇴근 후 가정에서도 24시간 업무를 볼 수 있습니다. 원가 절감, 생산성 향상, 납기일 준수, 관리 시스템의 표준화 등의 이점을 갖게 됩니다.

개발 목표
ㆍ프로그램을 설치하지 않고 사용이 가능한 실시간 네트워크(웹) 프로그램
ㆍ본사, 자사의 구분 없이 같은 자료를 같은 시간대에 접속, 관리
ㆍ인터넷 환경만 갖추어져 있으면 사용가능

2. Marshalling of Cars 주요 기능

배차 관리
ㆍ운송 일보 등록
- 각 항목별로 쉬운 입력 폼
- 운송차량 선택에 따른 기사이름, 차종 자동입력
ㆍ운송 일보 조회
- 각 항목별로 배차내역 조회
- 원하는 항목만으로 조회 가능운송 현황ㆍ거래처별

운송 현황
ㆍ거래처별 운송 현황
- 모든 거래처, 각 거래처별 운송 현황 조회
- 중량, 매입금액, 매출금액, 손익 계산
ㆍ차량별 운송 현황
- 모든 차량, 각 차량별 운송 현황 조회
- 중량, 매입금액, 매출금액, 손익 계산
ㆍ착지별 운송 현황
- 모든 하차지, 각 하차지별 운송 현황 조회
- 중량, 매입금액, 매출금액, 손익 계산

통계 분석
ㆍ거래처별 통계 분석
- 거래처별 매입금액, 매출금액, 중량의 최고값, 최처값, 총합, 평균값을 계산
ㆍ차량별 통계 분석
- 차량별 매입금액, 매출금액, 중량의 최고값, 최처값, 총합, 평균값을 계산
ㆍ착지별 통계 분석
- 거래처별 매입금액, 매출금액, 중량의 최고값, 최처값, 총합, 평균값을 계산

거래처 관리
ㆍ거래처(화주) 관리
- 거래처 정보 입력, 수정, 삭제
ㆍ기사 관리
- 기사 정보 입력, 수정, 삭제

청구 관리
ㆍ거래처별 청구 관리
- 각 거래처별로 청구서 확인 / 조회
- 청구서 인쇄 지원

3. 필요한 기자재 및 장비

데이터베이스
ㆍMySQL

사용 언어
ㆍPHP
ㆍHTML
ㆍJava Script

사용 도구
ㆍEdit Plus
ㆍDreamweaver




'DoItMyself' 카테고리의 다른 글

영상처리를 이용한 악보 인식  (6) 2007.02.12
GML을 이용한 지도 서비스  (3) 2006.08.16
모의 수강신청  (0) 2006.02.14