Image Processing for OCR using Matlab

Slides:



Advertisements
Similar presentations
윤준혁 (12), 이주연 (13), 박혜원 (14), 안혜경 (15) 허니버터칩으로 알아본 SNS 의 영향 력.
Advertisements

1 ‘ 우리나라의 주요공업 ’ - 정도웅, 주민혁, 안수진, 백경민, 엄다운, 박경찬 -.
수유부의 약물복용 시 주의점 발표자 조기성. 모유 수유의 장점 모유 수유의 장점은 ? 위장관 질환 발생감소 영아 돌연사 발생감소 아토피 질환 발생감소 정서적 안정.
연천 새둥지마을 체재형 주말농장 준공식 초청장 오시는 길 주제 일시 장소 21C 경기농촌희망심기 2005년 제1기 교육수료마을
출석수업 자료 교과서 범위: 제1장-4장.
10월 충북노회 남선교회 순회 헌신예배 묵 도 기 도 성 경 봉 독 특 송 찬 양 설 교 찬양 / 봉헌 봉 헌 기 도
글에 나타난 시대적 사회적 배경을 파악할 수 있다. 배경 지식과 의미 해석의 관련성을 이해할 수 있다.
라오디게아 교회의 교훈 본문 계 3: ○라오디게아 교회의 사자에게 편지하라 아멘이시요 충성되고 참된 증인이시요 하나님의 창조의 근본이신 이가 이르시되 15. 내가 네 행위를 아노니 네가 차지도 아니하고 뜨겁지도 아니하도다 네가 차든지 뜨겁든지 하기를 원하노라.
한알Ⅱ「더불어 살기」전국대회 일정표 날짜 시간 7월 26일(목) 7월 27일(금) 7월 28일(토) 7월 29일(일)
선거관리위원회 위원 공개모집 4차 공고 제4기 선거관리위원회를 구성하는 위원 모집의
2015학년도 1학기 버디 프로그램 오리엔테이션 (목) 16:00.
열왕기하 1장을 읽고 묵상으로 예배를 준비합시다..
오늘의 학습 주제 Ⅱ. 근대 사회의 전개 4. 개항 이후의 경제와 사회 4-1. 열강의 경제 침탈 4-2. 경제적 구국 운동의 전개 4-3. 사회 구조와 의식의 변화 4-4. 생활 모습의 변화.
전도축제 계획서 *일시 : 2013년 4월 21, 28일 주일 (연속 2주)
2009학년도 가톨릭대학교 입학안내.
한국 상속세 및 증여세 과세제도 한국 국세공무원교육원 교 수 최 성 일.
■ 지도교사 : 박정희 광덕고등학교 동아리 –어벤져스-
다문화가정의 가정폭력의 문제점 연세대학교 행정대학원 정치행정리더십 2학기 학번 이름 홍 진옥.
이공계의 현실과 미래 제조업 立國 / 이공계 대학생의 미래 준비
신앙의 기초를 세우는 중고등부 1부 대 예 배 : 11 : 00 ~ 12 : 층 본당
Simulation and software radio for mobile communications
은혜의 찬양.
금요기도회 주님을 찬양 하라 내 영혼아.
양성평등 리더만들기 조.
공부할 내용 조상들이 살던 곳 자연과 잘 어울리는 한옥 지방에 따라 서로 다른 집의 모양 섬 지방의 집
사랑, 데이트와 성적 자율성 :데이트 성폭력!!! 성폭력예방교육 전문강사 / 여성학 전공 신 순 옥.
2012사회복지현장실습 고윤지.
퇴계와 율곡의 사회사상 비교 남 일 재 동서대학교 교수/ 정치학 박사 1. 퇴계 이황과 율곡 이이의 약전(略傳)
제3장 사회 복지 발달사.
문헌정보학과, 사서만 있는 줄 아니? 10. Mushroom
501. 군인들의 세상 502. 민정 이양과 한일회담 이선용.
쌓지 말고 해소하자 이 주휘 이 진영 전 민석 전 혜림.
2015년 하반기 소방교육 자 유 전 공 학 부 (금) 안녕하십니까 자유전공학부 행정실 입니다.
아동복지 제9장.
함수발생기 설계 류호광(발표자) 정민호 구창민.
마리오 게임.
1-12.
노출영역 노출영역의 해당 배너들 클릭 시 실제 기획전 페이지로 이동됩니다..
해양생태계 이상현상 대응관리 남이현.
제13장 장애인 복지.
국민대학교 새로운 사회를 새로운 사회를 고려대학교
CHAPTER 07 안테나 제작과 측정 Antenna Manufacturing and Measurements
키타노카시쇼쿠닌(北の菓子職人) - 「오호츠크의 소금 맛」
정치학원론 5주차 제 4장 정치체계론 행정학과 구경완, 김정은, 박하륜, 양민지, 이환규.
프로젝트 학습 -프로젝트의 운영- 초등교육학과B 정예은.
Qualitative Reasoning(QR)
정치개혁의 가능성 논의 권력구조 개편을 통하여 본 -개헌을 통한 정부형태의 변화를 중심으로 [한국정치론] 윤성이 교수님
프로그래머, 수학으로 생각하라 24-2기 정성헌.
치료 레크레이션 프로그램 (지적 장애 대상) 과 목: 학 과: 학 번: 이 름: 제 출 일 자 담 당 교 수:
광고 모델의 영향력.
3조 권기태 윤주영 은화령 이형찬 이송민 김동욱 한승묵
노년기 발달 장안대 행정법률과 세류반 정 오 손
자바 5.0 프로그래밍.
2016년도 간호병동 직무교육 2 치료실 기본업무 – 치료 종류 및 효능, Q&A.
1-6.
태국 문학 욜라다 왓짜니 싸란차나 팟차라와라이 끼따야펀 르앙다우 타니다.
교수학습과정안 우리 돼지고기 ‘한돈’ 알아보기 영양교육 이시원.
평생 저축해도 강남 아파트 못산다 학 과 : 회계학과 1학년 B반 과 목 : 회계학원론 담당교수: 박성환 교수님
계피(CINNAMON) MADE By 김소연 안미소 조은비.
컴퓨터 프로그래밍 기초 - 11th : 파일 입출력 및 구조체 -
2.1 MATLAB 환경 2.2 배정 2.3 수학적 연산 2.4 내장함수의 사용 2.5 그래픽 2.6 다른 자원
정신보건 사회복지 제17장.
경영학의 상황학파에 대해서… 경제학과 3학년 최준용 회계학과 4학년 진현빈
워밍업 실뭉치 전달게임.
Name Title Company Name
주일목장연합예배 교회설립기념주일 예배전 10 분 은혜시간 예배당 앞자리 은혜자리.
목차 제1절 자본과 주식 1. 자본의 의의와 분류 2. 주식회사와 주식 제2절 주식의 발행과 재취득 1. 주식의 발행 1. 자본의 의의와 분류 2. 주식회사와 주식 제2절 주식의 발행과 재취득 1. 주식의 발행 2. 주식의 재취득(자기주식)과 소각 제3절 자본잉여금과.
비즈니스 관리 : 고객만족을 위한 종업원 권한위임
음파성명학 최종욱.
냉동의 역사 냉동의 분야 고대 이집트인의 다공길 토기 신라시대의 석빙고 최초의 냉동기 특허
Presentation transcript:

Image Processing for OCR using Matlab Technical seminar Image Processing for OCR using Matlab 이근호 fiadot@gmail.com http://www.fiadot.com July 25,2007

Contents About Matlab Drawing Binarization Labelling Segmentation Normalize Q&A

Matlab 매트웍스사에서 개발한 수치 해석 및 프로그래밍 환경을 제공하는 공학용 소프트웨어 행렬을 이용한 처리가 용이하며, 함수와 데이터의 그래프 표현이 가능하며, 또한 알고리듬의 적용, 사용자 인터페이스 생성 및 다른 프로그래밍 언어와의 연결도 가능 각종 내장 함수를 포함한 이같은 기능을 활용해서 과학, 공학 분야에 있어서의 제반문제를 빠르게 풀 수 있으며, 수치 해석에 특화된 소프트웨어이지만 메이플 심볼릭 엔진과의 연동을 가능케하는 툴박스(추가 기능)를 적용하면 완전한 컴퓨터 수식처리 시스템으로도 기능 그 밖의 각종 툴박스 패키지를 이용하면 더욱 확장된 기능을 사용할 수 있음

Drawing 창하나에 이미지 뿌리기 % 파일명 imgdraw.m pszFileName = 'arial_10pt_6x7.tif'; % 파일명(string제어)font 패턴 데이터 raw_rgbimage = imread(pszFileName); % 이미지 파일을 읽어서 raw_rgimage에 load info = imfinfo(pszFileName); % 이미지 파일 정보 출력 imshow(raw_rgbimage); % 이미지를 창에 출력   * 글자 출력 disp('으하하하')

Drawing (Cont’d) 창 2개에 각각 이미지 뿌리기 pszDBFileName = 'arial_10pt_6x7.tif'; % 파일명(string제어)font 패턴 데이터 raw_rgbimage = imread(pszDBFileName); % 이미지 파일을 읽어서 raw_rgimage에 load info = imfinfo(pszDBFileName); % 이미지 파일 정보 출력 disp(raw_rgbimage); %imshow(raw_rgbimage); % 이미지를 창에 출력 imshow(raw_rgbimage(:,:,:,1)) % 문자인식할 이미지 pszSrcFileName = 'arial_16pt_9323.tif'; % 이미지 파일을 읽어서 raw_rgimage에 load raw_rgbimage2 = imread(pszSrcFileName); figure, imshow(raw_rgbimage2(:,:,:,1))

Drawing (Cont’d) 창하나에 2개 이미지 출력하기 pszDBFileName = 'arial_10pt_6x7.tif'; % 파일명(string제어)font 패턴 데이터 raw_rgbimage = imread(pszDBFileName); % 이미지 파일을 읽어서 raw_rgimage에 load info = imfinfo(pszDBFileName); % 이미지 파일 정보 출력 disp(raw_rgbimage); subplot(1,2,1), imshow(raw_rgbimage);   pszSrcFileName = 'arial_16pt_9323.tif'; % 문자인식할 이미지 raw_rgbimage2 = imread(pszSrcFileName); % 이미지 파일을 읽어서 raw_rgimage에 load subplot(1,2,2), imshow(raw_rgbimage2);

Drawing (Cont’d) <console 화면> (:,:,3) = Columns 1 through 16   Columns 1 through 16 255 0 0 0 255 255 255 255 0 255 255 255 255 0 0 0 0 255 255 255 0 255 255 0 0 255 255 255 0 255 255 255 0 255 255 255 0 255 0 255 0 255 255 255 255 255 255 255 0 255 255 255 0 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255 0 255 255 255 0 255 255 255 255 255 0 255 0 255 255 255 0 255 255 255 0 255 255 255 255 0 255 255 255 0 0 0 255 255 255 255 0 255 255 255 0 0 0 0 Columns 17 through 32 … <생략> Columns 49 through 60 255 0 0 0 255 255 255 0 0 0 255 255 0 255 255 255 0 255 0 255 255 255 0 255 255 0 0 0 255 255 0 255 255 255 0 255 0 255 255 255 0 255 255 0 0 0 0 255 >> 

Binarization [i,map] = imread('trees.tif'); imshow(i); i1 = ind2rgb(i,map); figure; imshow(i1) i2= ind2gray(i,map); figure; imshow(i2) i3 = im2bw(i,map,0.5); figure; imshow(i3)

Labelling L = bwlabel % 1차원 데이터에 대해서~ Label connected components in a binary image   사용법 L = bwlabel(BW,n) [L,num] = bwlabel(BW,n) 사용예 BW = [1 1 1 0 0 0 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0]; L = bwlabel(BW,4) L =   1 1 1 0 0 0 0 0 1 1 1 0 2 2 0 0 1 1 1 0 0 0 3 0 1 1 1 0 0 3 3 0 [r,c] = find(L==2); rc = [r c] rc = 2 5 3 5 2 6 3 6

Labelling (Cont’d) bwlabeln % N차원 이미지에 대해서 라벨링해줌 Label connected components in N-D binary image Example BW = cat(3,[1 1 0; 0 0 0; 1 0 0],... [0 1 0; 0 0 0; 0 1 0],... [0 1 1; 0 0 0; 0 0 1])   bwlabeln(BW) ans(:,:,1) = 1 1 0 0 0 0 2 0 0 ans(:,:,2) = 0 1 0 0 2 0 ans(:,:,3) = 0 1 1 0 0 2

Labelling (Cont’d) 실제 사용예) 이미지가 배경이 흰색이고 글자가 검정일 때! 실제 사용예) 이미지가 배경이 흰색이고 글자가 검정일 때! pszSrcFileName = 'arial_16pt_9323.png'; % 문자인식할 이미지 raw_rgbimage2 = imread(pszSrcFileName); % 이미지 파일을 읽어서 raw_rgimage에 load LabledData = bwlabel(~raw_rgbimage2); % inverse시켜줌으로써 흑백 바꿈! figure, imshow(LabledData == 2); % 2번에 해당하는 이미지만 뿌려줌! * Whos 명령어 Name, Size, Byte, Class를 보여줌 >> whos Name Size Bytes Class   LabledData 18x54 7776 double array info 1x1 5060 struct array pszDBFileName 1x18 36 char array pszSrcFileName 1x19 38 char array raw_rgbimage 7x60x3 1260 uint8 array raw_rgbimage2 18x54 972 logical array

Segmentaion 나누어진 문자 하나의 크기를 확인한다. 결과> splited char size 12 7 stats = regionprops(LabledData,'FilledImage'); newmap = [stats(3).FilledImage]; % disp(newmap); 라벨링후 3에 해당하는 이미지 영역을 긁어서 newmap에 새로운 2차원 배열을 복사 생성한다. 결과> 0 0 1 1 1 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 1 1 [h w] = size(newmap); disp('splited char size'); disp(h); disp(w); 나누어진 문자 하나의 크기를 확인한다.   결과> splited char size 12 7

Normalization 사이즈를 DB에 맞게 resize 시켜준다. scaleH = 6 ; scaleW = 7 ;   scaleH = 6 ; scaleW = 7 ; J = imresize(newmap,[scaleW scaleH]); % Try varying the scale factor. disp(J); 여기에 다양한 보간(Interpolation) 방법이 있는데 그냥 기본으로 했다.

Q&A Thank you