KR100946888B1 - 영상화면 내의 피사체의 기울기 보정 장치 및 방법 - Google Patents

영상화면 내의 피사체의 기울기 보정 장치 및 방법 Download PDF

Info

Publication number
KR100946888B1
KR100946888B1 KR1020030006417A KR20030006417A KR100946888B1 KR 100946888 B1 KR100946888 B1 KR 100946888B1 KR 1020030006417 A KR1020030006417 A KR 1020030006417A KR 20030006417 A KR20030006417 A KR 20030006417A KR 100946888 B1 KR100946888 B1 KR 100946888B1
Authority
KR
South Korea
Prior art keywords
stripes
block
candidate
unit
stripe
Prior art date
Application number
KR1020030006417A
Other languages
English (en)
Other versions
KR20040069864A (ko
Inventor
임채환
박준효
장익훈
김남철
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020030006417A priority Critical patent/KR100946888B1/ko
Priority to US10/765,085 priority patent/US7340110B2/en
Priority to DE602004018865T priority patent/DE602004018865D1/de
Priority to CNB2004100025560A priority patent/CN1275190C/zh
Priority to EP04002063A priority patent/EP1462986B1/en
Publication of KR20040069864A publication Critical patent/KR20040069864A/ko
Application granted granted Critical
Publication of KR100946888B1 publication Critical patent/KR100946888B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/146Aligning or centring of the image pick-up or image-field
    • G06V30/1475Inclination or skew detection or correction of characters or of image to be recognised
    • G06V30/1478Inclination or skew detection or correction of characters or of image to be recognised of characters or characters lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Character Input (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

영상화면 내의 피사체의 기울기 보정 장치가, 영상화면을 입력하는 입력부와, 상기 영상화면의 화소들을 각각 글자화소 및 배경화소의 밝기 값으로 이진화하는 이진화부와, 상기 이진화된 영상화면의 글자영역에 대하여 확장(dilation)을 수행하여 후보스트라이프들을 생성하는 후보스트라이프생성부와, 상기 후보스트라이프들 중에서 설정된 크기 이상의 스트라이프를 가지는 후보스트라이프들을 스트라이프로 분류하는 스트라이프분류부와, 상기 분류된 스트라이프들의 각각에 대하여 방향각을 계산하며, 가장 많이 계산된 방향각을 회전각으로 결정하는 회전각결정부와, 상기 영상화면을 상기 회전각으로 회전시켜 영상화면 내의 피사체의 기울기를 보정하는 기울기보정부로 구성된다.
Figure R1020030006417
기울기 보정, 글자열, 스트라이프, 블록분류,

Description

영상화면 내의 피사체의 기울기 보정 장치 및 방법{DEVICE AND METHOD FOR CORRECTING A SKEW OF IMAGE}
도 1은 본 발명의 제1실시예에 따른 영상화면 내의 피사체의 기울기 보정 장치의 구성을 도시하는 도면
도 2는 본 발명의 제2실시예에 따른 영상화면 내의 피사체의 기울기 보정 장치의 구성을 도시하는 도면
도 3은 도 1 - 도 2에서의 상기 이진화부120의 구성을 도시하는 도면
도 4는 상기 도 3에서 블록분류부120의 상세 구성을 도시하는 도면
도 5a - 도 5c는 블록분류부의 에너지계산부에서 블록의 우수한 DCT 계수의 절대값의 합을 계산하기 위한 특성을 설명하기 위한 도면
도 6은 도 1 - 도 2의 회전각결정부에서 스트라이프의 회전각을 계산하는 절차를 설명하기 위한 도면
도 7은 본 발명의 실시예에 따른 영상화면 내의 피사체의 기울기 보정절차를 도시하는 흐름도
도 8은 본 발명의 다른 실시예에 따른 영상화면 내의 피사체의 기울기 보정 절차를 도시하는 흐름도
도 9는 도 7 및 도 8의 이진화 과정 중에서 글자블록 및 배경블록으로 분류하는 과정을 도시하는 흐름도
도 10은 도 7 및 도 8의 이진화 과정에서 분류된 글자블록 및 배경블록의 이진화하는 과정을 도시하는 흐름도
도 11은 도 7 및 도 8의 후보스트라이프 생성 절차를 도시하는 흐름도
도 12는 도 7 및 도 8의 스트라이프 분류 및 회전각 결정 과정의 절차를 도시하는 흐름도
도 13은 본 발명의 실시예에 따른 기울기 보정절차를 전체적으로 설명하기 위한 도면
도 14a-도 14h는 상기 도 13의 각 과정에서 생성되는 영상화면의 형태를 도시하는 도면
본 발명은 영상신호의 글자를 인식하기 위한 전처리 장치 및 방법에 관한 것으로, 특히 영상신호의 글자를 인식하기 전에 입력되는 영상화면 내의 피사체의 기울기를 보정하는 장치 및 방법에 관한 것이다.
현재 영상신호의 글자를 인식하기 위해서는 먼저 전처리(pre-processing) 동작을 수행하는 것이 일반적이다. 상기 영상신호 글자를 인식 전에 영상신호를 처리 하는 동작을 의미한다. 상기 영상신호의 전처리 동작은 영상신호에 입력되는 영상화면이 글자를 인식하기에 적절한가를 판단하는 동작, 입력되는 영상화면 내의 피사체의 기울기를 보정하는 동작, 입력되는 영상화면의 크기를 적절하게 보정하는 동작, 또는 입력되는 영상신호의 글자를 인식할 수 있도록 영상신호를 이진화하는 동작 등이 될 수 있다.
일반적으로 영상화면의 글자를 인식하는 장치는 영상에서 글자를 인식하게 된다. 그리고 상기 영상화면은 카메라 등에 의해 촬영되므로, 영상화면 내의 피사체가 기울어질 수 있다. 따라서 상기 기울어진 영상화면 내의 피사체를 보정한 후 인식 동작을 수행하면 인식 성능을 향상시킬 수 있다.
따라서 본 발명의 목적은 영상신호를 이진화할 때 영상화면 내의 피사체의 기울기를 보정할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 영상신호를 이진화할 때 영상화면을 글자블록과 배경블록으로 분류하고, 상기 분류된 글자블록들의 기울기를 구하여 입력되는 영상화면 내의 피사체의 기울기를 보정할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 영상신호를 이진화할 때 영상화면을 글자블록과 배경블록으로 분류하고, 상기 글자블록들을 글자열로 생성한 후 상기 글자열의 기울기에 따른 영상화면 내의 피사체의 회전각을 구하여 입력되는 영상화면 내의 피사체의 기울기를 보정할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 영상신호를 이진화할 때 글자블록들을 분류하여 이진화한 후, 상기 이진화된 글자영역을 확장하여 후보스트라이프를 생성하며, 상기 생성된 후보스트라이프들 중에서 길고 큰 형태의 스트라이프를 선택한 후, 상기 선택된 스트라이프의 기울기에 따른 회전각을 구하여 입력되는 영상화면 내의 피사체의 기울기를 보정할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 영상신호를 이진화할 때 글자블록들을 분류하여 이진화한 후, 상기 이진화된 글자블록들을 수평방향으로 서브샘블링하며, 상기 서브샘블링된 글자영역을 확장하여 후보스트라이프를 생성하며, 상기 생성된 후보스트라이프들 중에서 길고 큰 형태의 스트라이프를 선택한 후, 상기 선택된 스트라이프의 기울기에 따른 회전각을 구하여 입력되는 영상화면 내의 피사체의 기울기를 보정할 수 있는 장치 및 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 제1실시예에 따른 영상화면 내의 피사체의 기울기 보정 장치는, 영상화면을 입력하는 입력부와, 상기 영상화면의 화소들을 각각 글자화소 및 배경화소의 밝기 값으로 이진화하는 이진화부와, 상기 이진화된 영상화면의 글자영역들에 대하여 확장(dilation)을 수행하여 후보스트라이프들을 생성하는 후보스트라이프생성부와, 상기 후보스트라이프들 중에서 설정된 크기 이상의 이심율과 블럽크기를 가지는 후보스트라이프들을 스트라이프로 분류하는 스트라이프분류부와, 상기 분류된 스트라이프들의 각각에 대하여 방향각을 계산하며, 가장 많이 계산된 방향각을 회전각으로 결정하는 회전각결정부와, 상기 영상화면을 상기 회전각으로 회전시켜 영상화면 내의 피사체의 기울기를 보정하는 기울기보정 부로 구성된다.
상기 목적을 달성하기 위한 본 발명의 제2실시예에 따른 영상화면 내의 피사체의 기울기를 보정하는 장치는, 영상화면을 입력하는 입력부와, 상기 영상화면의 화소들을 각각 글자화소 및 배경화소의 밝기 값으로 이진화하는 이진화부와, 상기 이진화 된 영상화면에 대하여 설정된 비율로 서브샘플링을 수행하는 수평화소감축부와, 상기 이진화된 영상화면의 글자블록들을 확장하여 후보스트라이프들을 생성하는 후보스트라이프생성부와, 상기 후보스트라이프을 가지는 영상화면에 대하여 수직화소를 설정된 비율로 서브샘플링을 수행하는 수직화소감축부와, 상기 수직화소가 감축된 후보스트라이프들 중에서 설정된 크기 이상의 블럽 크기와 이심율을 가지는 후보스트라이프들을 스트라이프로 분류하는 스트라이프분류부와, 상기 분류된 스트라이프들의 각각에 대하여 방향각을 계산하며, 그 개수를 누적하여 가장 많이 누적된 개수를 가지는 방향각을 회전각으로 결정하는 회전각결정부와, 상기 영상화면을 상기 회전각으로 회전시켜 영상화면 내 의 피사체의 기울기를 보정하는 기울기보정부로 구성된다.
상기 목적을 달성하기 위한 본 발명의 제1실시예에 따른 영상화면 내의 피사체의 기울기를 보정하는 방법은, 영상화면을 입력하는 과정과, 상기 영상화면의 화소들을 각각 글자화소 및 배경화소의 밝기 값으로 이진화하는 과정과, 상기 이진화된 영상화면의 글자영역을 확장하여 후보스트라이프들을 생성하는 과정과, 상기 후보스트라이프들 중에서 설정된 크기 이상의 이심율과 블럽크기를 가지는 후보스트라이프들을 스트라이프로 분류하는 과정과, 상기 분류된 스트라이프들의 각각에 대 하여 방향각을 계산하는 과정과, 상기 스트라이프들의 방향각들 중에서 가장 많이 계산된 방향각을 회전각으로 결정하는 과정과, 상기 입력 영상화면을 상기 회전각으로 회전시켜 영상화면 내의 피사체의 기울기를 보정하는 과정으로 이루어진다.
상기 목적을 달성하기 위한 본 발명의 제2실시예에 따른 영상화면 내의 피사체의 기울기를 보정하는 방법은, 영상화면을 입력하는 과정과, 상기 영상화면의 화소들을 각각 글자화소 및 배경화소의 밝기 값으로 이진화하는 과정과, 상기 이진화 영상화면에 대하여 수평방향으로 설정된 비율로 서브샘플링을 수행하여 수평화소를 감축하는 과정과, 상기 수평화소가 감축된 이진화된 영상화면의 글자영역들을 확장하여 후보스트라이프들을 생성하는 과정과, 상기 후보스트라이프의 이진화 영상화면에 대하여 수직방향으로 설정된 비율로 서브샘플링을 수행하여 수직화소를 감축하는 과정과, 상기 수직화소가 감축된 후보스트라이프들 중에서 설정된 크기 이상의 이심율과 블럽크기를 가지는 후보스트라이프들을 스트라이프로 분류하는 과정과, 상기 분류된 스트라이프들의 각각에 대하여 방향각을 계산하는 과정과, 상기 각 방향각의 개수를 누적하여 가장 많이 누적된 개수를 가지는 방향각을 회전각으로 결정하는 과정과, 상기 입력 영상화면을 상기 회전각으로 회전시켜 영상화면 내의 피사체의 기울기를 보정하는 과정으로 이루어진다.
이하 본 발명의 바람직한 실시예들의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 도면들 중 동일한 구성들은 가능한 한 어느 곳에서든지 동일한 부호들을 나타내고 있음을 유의하여야 한다.
하기 설명에서 영상화면의 크기, 글자 및 배경블록의 크기 등과 같은 특정 상세들이 본 발명의 보다 전반적인 이해를 제공하기 위해 나타나 있다. 이들 특정 상세들 없이 또한 이들의 변형에 의해서도 본 발명이 용이하게 실시될 수 있다는 것은 이 기술분야에서 통상의 지식을 가진 자에게 자명할 것이다.
이하 설명되는 본 발명의 실시예들의 설명에서, 영상화면이라는 용어는 입력되는 영상을 의미하는 용어로써, 본 발명의 실시예에서는 640×480 화소의 크기를 갖는다고 가정한다. 블록이라는 용어는 글자 및 배경블록을 의미하는 용어로써, 본 발명의 실시예에서는 8×8 화소의 크기를 갖는다고 가정한다. 또한 그룹핑된 블록은 이진화하고자 하는 중심블록의 주변블록들을 의미하는 용어로써, 본 발명의 실시예에서는 24×24 화소의 크기를 갖는다고 가정한다.
또한 본 발명의 실시예들의 설명에서 글자열(character string)이란 글자들이 떨어져 이루어지는 열을 의미하며 스트라이프(stripe)란 글자들의 간격을 붙여 글자들이 스트라이프 형태로 이루어지는 것을 의미한다. 본 발명의 실시예에서는 상기 스트라이프들이 이루는 방향각을 계산하여 영상화면 내의 피사체의 기울기를 보정한다. 이하 설명되는 제2 - 제2실시예의 영상화면 내의 피사체의 기울기를 보정하는 장치 및 방법은 스트라이프를 이용하여 기울기를 보정하는 실시예이다.
이하 본 발명의 실시예들을 첨부되는 도면들을 참조하여 상세히 설명한다.
도 1은 본 발명의 제1실시예에 따른 영상화면 내의 피사체의 기울기 보정 장치의 구성을 도시하는 도면이다.
상기 도 1을 참조하면, 입력부110은 영상화면을 입력하는 기능을 수행한다. 여기서 상기 입력부110은 카메라(camera), 스캐너(scanner), 모뎀 및 네트워크 등을 포함하는 통신인터페이스부, 컴퓨터 등이 될 수 있다. 여기서 상기 영상화면은 640(column)×480(row)의 화소들로 이루어진다고 가정한다.
이진화부(binarization part)120은 상기 입력부110에서 입력되는 영상화면을 상기 블록으로 분할하고, 상기 분할된 블록들에 포함되는 화소들을 검사하여 글자 블록 및 배경블록들로 분류한 후, 각 블록들의 화소들을 이진화하는 기능을 수행한다. 상기와 같이 이진화부120이 각 블록들을 글자블록 및 배경블록들로 분류하는 이유는 글자가 포함되어 있는 영역을 이진화한 후, 이를 이용하여 글자열을 분류하기 위함이다. 여기서 상기 블록은 상기한 바와 같이 8×8 화소의 크기를 가진다고 가정한다.
후보스트라이프생성부180은 상기 글자블록의 영역에 대하여 확장(dilation)을 수행하여 이웃하는 글자들을 접하게 되는 후보 스트라이프(candidate stripe)를 생성한다. 상기 후보 스트라이프 생성부180은 상기 이진화된 글자블록들의 영역에 대하여 확장(dilation)을 수행하여 이웃하는 글자들과 접하게 하는 후보 스트라이프들을 생성하며, 확장(dilation) 과정에서 상기 후보글자열들이 상하로 인접한 후보 스트라이프들이 붙는 것을 방지하기 위하여 축소(erosion)하는 동작을 수행한다.
스트라이프분류부135는 상기 후보스트라이프들 중에서 일정 크기 이상의 길이를 가지는 스트라이프들을 분류한다. 상기 스트라이프분류부135는 상기 이진화된 후보스트라이프들의 모멘트를 이용한 블롭 크기(blob size) 및 이심율(eccentricity)을 계산하여 일정크기 이상의 길이를 가지는 스트라이프들을 분류한다. 여기서 상기 스트라이프들은 영상의 수평축을 기준으로 기울어진 영상화면 내의 피사체의 기울기의 방향각을 계산하기 위한 대상으로 사용된다.
회전각 결정부140은 상기 분류된 스트라이프들의 방향각을 각각 계산하여 그 개수를 누적하며, 누적된 개수가 가장 많은 방향각을 선택하여 기울어진 영상화면 내의 피사체의 회전각으로 결정한다. 상기 회전각결정부140은 상기 글자열들의 방향각들을 각각 계산하며, 상기 계산된 결과의 계수를 누적하여 가장 많은 개수를 가지는 방향각을 회전각으로 결정한다.
기울기보정부150은 상기 입력부110에서 출력되는 영상신호를 입력하며, 상기 회전각결정부140의 회전각에 의해 상기 영상신호를 회전시켜 상기 영상화면 내의 피사체의 기울기를 보정한다.
영상보정부160은 상기 기울기가 보정된 영상신호의 코너에 영상신호를 삽입한다. 즉, 상기 기울기보정부150이 상기 영상화면 내의 피사체의 기울기를 보정하면, 상기 영상신호의 회전에 따라 화소들이 없는 영역이 발생된다. 상기 영상보정부160은 상기 기울기 보정에 의해 화소들이 없게 되는 영상화면의 빈 영역에 특정 화소들을 채우는 기능을 수행한다. 이때 채워지는 화소들은 글자와 무관한 데이터들이므로, 상기 기울기보정부150의 출력을 인식기170에 그대로 인가하여도 영상화면의 글자를 인식하는데 영향을 미치지 않는다.
인식기170은 상기 영상보정부160에서 출력되는 영상신호를 인식한다.
도 2는 본 발명의 제2실시예에 따른 영상화면 내의 피사체의 기울기 보정 장치의 구성을 도시하는 도면이다.
상기 도 2를 참조하면, 입력부110은 영상화면을 입력하는 기능을 수행한다. 여기서 상기 입력부110은 카메라(camera), 스캐너(scanner), 모뎀 및 네트워크 등을 포함하는 통신인터페이스부, 컴퓨터 등이 될 수 있다. 여기서 상기 영상화면은 640(column)×480(row)의 화소들로 이루어진다고 가정한다.
이진화부(binarization part)120은 상기 입력부110에서 입력되는 영상화면을 상기 블록으로 분할하고, 상기 분할된 블록들에 포함되는 화소들을 검사하여 글자 블록 및 배경블록들로 분류한 후, 각 블록들의 화소들을 이진화하는 기능을 수행한다. 상기와 같이 이진화부120이 각 블록들을 글자블록 및 배경블록들로 분류하는 이유는 글자가 포함되어 있는 영역을 이진화한 후, 이를 이용하여 글자열을 분류하기 위함이다. 여기서 상기 블록은 상기한 바와 같이 8×8 화소의 크기를 가진다고 가정한다.
수평화소감축부190은 상기 이진화된 영상화면에 대하여 수평방향으로 서브샘플링을 수행하여 상기 영상화면의 수평화소들을 감축한다. 상기 수평화소감축부190에서 수평화소들을 감축하는 이유는 후술하는 후보스트라이프 생성시 글자열이 수평 방향으로 잘 뭉쳐진 스트라이프로 될 수 있도록 한다.
후보스트라이프생성부180은 상기 글자블록의 영역에 대하여 확장(dilation)을 수행하여 이웃하는 글자들을 접하게 되는 후보스트라이프들을 생성한다. 상기 후보스트라이프생성부180은 상기 이진화된 글자블록들의 영역에 대하여 확장(dilation)을 수행하여 이웃하는 글자들과 접하게 하는 후보스트라이프들을 생성하며, 확장(dilation) 과정에서 상기 후보스트라이프들이 상하로 인접한 것들끼리 서로 붙는 것을 방지하기 위하여 축소(erosion) 동작을 수행한다.
수직화소감축부195는 상기 수평화소의 감축 비율로 상기 후보스트라이프로 변환된 영상화면에 대하여 수직방향으로 서브샘플링을 수행하여 수직화소들을 감축한다. 상기 수직화소감축부195는 상기 수평화소감축부190의 수평화소 감축에 따라 변경된 영상화면의 비율을 원래 영상화면의 비율로 복원시키기 위함이다. 상기 수직화소감축부195는 수평화소를 증가시켜도 동일한 기능을 수행할 수 있다.
스트라이프분류부135는 상기 수직화소가 감소된 상기 후보스트라이프들 중에서 일정 크기 이상의 길이를 가지는 스트라이프들을 분류한다. 상기 스트라이프분류부135는 상기 이진화된 후보스트라이프들의 모멘트를 이용한 블롭 크기(blob size) 및 이심율(eccentricity)을 계산하여 일정크기 이상의 길이를 가지는 스트라이프들을 분류한다. 여기서 상기 글자열은스트라이프들은 영상의 수평축을 기준으로 기울어진 영상화면 내의 피사체의 방향각을 계산하기 위한 대상으로 사용된다.
회전각 결정부140은 상기 분류된 스트라이프들의 방향각을 각각 계산하여 각 방향각의 개수를 누적하며, 누적된 개수가 가장 많은 방향각을 선택하여 기울어진 영상화면 내의 피사체의 회전각으로 결정한다. 상기 회전각결정부140은 상기 스트라이프들의 방향각들을 각각 계산하며, 상기 계산된 결과의 개수를 누적하여 가장 많은 개수를 가지는 방향각을 회전각으로 결정한다.
기울기보정부150은 상기 입력부110에서 출력되는 영상신호를 입력하며, 상기 회전각결정부140의 회전각에 의해 상기 영상신호를 회전시켜 상기 영상화면 내의 피사체의 기울기를 보정한다.
영상보정부160은 상기 영상화면 내의 피사체의 기울기가 보정된 영상신호의 코너에 영상신호를 삽입한다. 즉, 상기 기울기보정부150이 상기 영상화면 내의 피사체의 기울기를 보정하면, 상기 영상화면의 회전에 따라 화소들이 없는 영역이 발생된다. 상기 영상보정부160은 상기 기울기 보정에 의해 화소들이 없게 되는 영상화면의 빈 영역에 특정 화소들을 채우는 기능을 수행한다. 이때 채워지는 화소들은 글자와 무관한 데이터들이므로, 상기 기울기보정부150의 출력을 인식기170에 그대로 인가하여도 영상화면의 글자를 인식하는데 영향을 미치지 않는다.
인식기170은 상기 영상보정부160에서 출력되는 영상신호를 인식한다.
본 발명의 제1실시예에 따른 영상화면 내의 피사체의 기울기 보정 장치의 동작을 살펴보면, 먼저 이진화부120이 입력되는 영상화면을 블록으로 분할한 후, 분할된 블록들을 글자블록 및 배경블록으로 분류하며, 상기 분류된 글자블록 및 배경블록의 영상 화소들에 대하여 글자화소 및 배경화소들로 이진화를 수행한다. 그러면 후보스트라이프생성부180은 상기 이진화된 영상화면에서 글자영역들을 이웃하는 글자들과 접할 수 있도록 확장(dilation)을 수행하여 글자들로 이루어진 글자열들을 수평 방향의 스트라이프(stripe) 형태로 만든다. 이때 스트라이프 형태의 글자열을 후보스트라이프라 한다. 이후 상기 스트라이프분류부135는 상기 후보스트라이프들 중에서 일정 크기 이상과 길쭉한 모양을 가지는 스트라이프들을 분류한다. 그리고 회전각결정부140은 상기 분류된 스트라이프들의 각각에 대한 방향각을 계산하 고, 계산된 방향각들 중에서 그 개수가 가장 많은 방향각을 상기 회전각으로 결정한다. 그러면 기울기보정부150은 상기 입력되는 영상화면을 상기 회전각에 의해 회전시켜 영상화면의 피사체의 기울기를 보정한다. 그리고 영상보정부160은 상기 피사체의 기울기가 보정된 영상화면에서 화소가 없는 영역들에 화소들을 삽입하여 영상화면을 보정한 후 인식기170에 출력하다. 또한 상기 영상보정 없이 상기 기울기보정부150의 출력을 인식기170에 입력시켜 영상화면의 글자를 인식할 수도 있다
본 발명의 제2실시예에 따른 영상화면 내의 피사체의 기울기 보정 장치의 동작을 살펴보면, 먼저 이진화부120이 입력되는 영상화면을 블록으로 분할한 후, 분할된 블록들을 글자블록 및 배경블록으로 분류하며, 상기 분류된 글자블록 및 배경블록의 영상 화소들에 대하여 글자화소 및 배경화소들로 이진화를 수행한다. 그리고 수평화소감축부190은 이진화된 영상화면에 대하여수평방향으로 서브샘플링을 수행한다. 즉, 상기 수평화소감축부190은 뒷단의 후보스트라이프생성부180에서 글자열들이 스트라이프 형태로 잘 뭉쳐질 수 있도록 수평화소들을 감축한다. 그러면 후보스트라이프생성부180은 상기 이진화된 영상화면에서 글자영역들을 이웃하는 글자들과 접할 수 있도록 확장(dilation)을 수행하여 글자들로 이루어진 글자열들을 수평 방향의 스트라이프 형태로 만든다. 이때 스트라이프 형태의 글자열을 후보스트라이프라 한다. 이후 수직화소감축부195는 상기 후보스트라이프들로 변환된 영상화면의 수직화소들을 설정된 비율로 감축하여, 입력된 영상화면의 수평 대 수직 비율과 갖게 조정한다. 이후 상기 스트라이프분류부135는 상기 수평 및 수직화소들이 설정된 비율로 감축된 상기 후보스트라이프들 중에서 일정 크기 이상과 길쭉한 모양을 가지는 스트라이프들을 분류한다. 그리고 회전각결정부140은 상기 분류된 스트라이프들의 각각에 대한 방향각을 계산하고, 계산된 방향각들 중에서 그 개수가 가장 많은 방향각을 상기 회전각으로 결정한다. 그러면 기울기보정부150은 상기 입력되는 영상화면을 상기 회전각에 의해 회전시켜 영상화면의 기울기를 보정한다. 그리고 영상보정부160은 상기 기울기가 보정된 영상화면에서 화소가 없는 영역들에 화소들을 삽입하여 영상화면을 보정한 후 인식기170에 출력하다. 또한 상기 영상보정 없이 상기 기울기보정부150의 출력을 인식기170에 입력시켜 영상화면의 글자를 인식할 수도 있다
상기와 같은 본 발명의 제2-제2실시예에서 스트라이프분류부135는 각각 스트라이프의 이심율 및(또는) 블럽 크기를 계산하여 각 스트라이프의 방향각을 구하기 위한 대상신호로 출력한다. 여기서 스트라이프분류부135는 상기 이진화된 글자들이 서로 붙은 형태의 스트라이프를 이용하여 방항각을 구하기 위한 스트라이프들을 분류하는 기능을 수행한다. 본 발명의 제12실시예-제2실시예의 동작을 구체적으로 살펴본다. 여기서는 상기 제2실시예를 중심으로 본 발명의 실시예에 따른 기울기 보정장치의 동작을 살펴보기로 한다.
먼저 상기 입력부110은 영상화면을 입력한다. 여기서 상기 영상화면은 M×N의 크기를 가지며, 본 발명의 실시예에서는 상기한 바와 같이 640(N)×480(M) 화소의 크기를 가진다고 가정한다. 또한 상기 입력되는 영상은 컬러 영상(color image) 또는 색상정보가 없는 흑백영상(gray image)이 될 수 있다. 본 발명의 실시예에서는 상기 영상화면이 흑백 영상이라고 가정한다.
그리고 상기 영상화면은 이진화부120에 입력되여 블록으로 분할된 후 글자블록 및 배경블록으로 분류되며, 상기 분류된 블록 영상들을 이진화한다.
도 3은 상기 이진화부120의 구성을 도시하는 도면이다. 상기 이진화부120은 상기 입력된 영상화면을 소정 크기의 블록들로 나누고, 각 블록들을 각각 글자블록 및 배경블록으로 분류한 후, 분류된 블록 영상들의 화소를 글자화소 및 배경화소들로 이진화한다. 이때 상기 이진화부120이 글자블록 및 배경블록으로 분류한 후, 블록 영상화소들을 이진화하는 목적은 영상화면 내의 피사체의 기울기를 보정할 때 글자열들의 방향각을 구하여 영상신호의 회전각을 구하기 위함이다.
상기 도 3을 참조하면, 블록분류부211은 입력되는 상기 영상화면을 설정된 블록크기로 분할하며, 상기 분할된 블록들을 글자블록 및 배경블록으로 분류한다. 그러면 블록그룹핑부213은 상기 분류된 글자블록을 인접한 8개의 블록들과 그룹핑하며, 기준값 계산부는 상기 그룹핑된 블록들로 부터 기준값을 생성한다. 그러면 화소판정부217은 상기 기준값 계산부에서 출력되는 기준값을 이용하여 상기 블록분류부211에서 출력되는 배경블록의 화소들은 제2밝기값을 가지는 배경화소들로 일괄 변환하며, 상기 글자블록의 화소들은 상기 기준값에 의해 제1밝기값을 가지는 글자화소 및 제2밝기 값을 가지는 배경화소들로 이진화하여 출력한다.
도 4는 상기 도 3에서 블록분류부120의 상세 구성을 도시하는 도면이다.
상기 도 4를 참조하면, 블록분할부311은 상기 영상화면을 소정의 블록크기로 분할한다. 이때 상기 영상화면이 640×480 화소이고 상기 블록이 8×8 화소이면, 상기 블록분할부311은 상기 영상화면을 4800개의 블록들로 분할한다.
상기 블록분할부311에서 출력되는 블록영상들은 DCT변환부313에 인가되어 DCT(discrete cosine transform) 변환된다. 그리고 에너지계산부315는 상기 DCT 변환된 블록 내에서 우수한 DCT 계수들(dominant DCT coefficients)의 절대값의 합을 계산한다. 이때 상기 글자블록의 DCT 계수들(DCT coefficients)의 에너지분포(energy distribution)는 배경블록의 DCT 계수의 에너지 분포보다 큰 값을 가진다. 도 5a는 글자블록과 배경블록에 대한 DCT 계수들의 에너지 분포를 비교하는 도면이다. 상기 도 5a에서 Y축은 절대값의 합의 평균을 로그 스케일(log scale)로 표시하고 있으며, X축은 DCT 계수들의 지그재그 스캔 오더(zigzag scan order)를 표시하고 있다. 상기 도 5a에 도시된 바와 같이 글자블록의 DCT계수들은 배경블록의 DCT 계수보다 큰 값을 가지고 있음을 알 수 있다. 그리고 도 5b는 글자블록에 대한 DCT 계수들의 에너지 분포 특성을 도시하고 있다. 상기 도 5b에서 Y축은 절대값의 합의 평균을 정상 스케일(normal scale)로 표시하고 있으며, X축은 DCT 계수들의 지그재그 스캔 오더(zigzag scan order)를 표시하고 있다. 이때 상기 도 5b에 도시된 바와 같이 일부 DCT 계수가 절대값의 합의 평균이 큰 값을 가진다는 것을 알 수 있다. 따라서 본 발명의 실시예에서는 블록분류 시 사용되는 우수한 DCT 계수는 도 5c에 도시된 바와 같이 D1∼D9 라고 가정한다. 따라서 k번째 블록에서의 우수한 DCT 계수들의 절대값의 합은 하기 <수학식 1>과 같이 계산할 수 있다.
Figure 112003003657705-pat00001
상기 <수학식 1>에서
Figure 112003003657705-pat00002
는 k번째 블록의 i번째 우수한 DCT 계수를 의미하고, Sk는 k번째 블록의 DCT 계수들의 절대값의 합을 의미한다. 따라서 본 발명의 실시예에서는 우수한 DCT 계수인 D1 - D9까지의 DCT 계수들의 절대값의 합을 계산한다.
상기 에너지 계산부315는 상기 <수학식 1>과 같은 계산을 모든 블록들(k=0,1,2,...,4799)에 대하여 수행한다. 그리고 상기 각 블록별 에너지값 Sk(k=0,1,...,4799)들은 기준값계산부317에 인가된다.
상기 블록기준값계산부317은 상기 각 블록별로 계산된 에너지값 Sk(k=0,1,...,4799)들을 가산한 후, 상기 가산된 전체블록의 에너지값을 블록의 총개수(TBN)로 나누어 평균값 <Sk>을 구한다. 이때 상기 <Sk> 값은 하기 <수학식 2>와 같이 구하며, 이때의 상기 <Sk> 값은 상기 블록 영상신호를 글자블록 또는 배경블록으로 판정하기 위한 블록기준값 Cth가 된다.
Figure 112003003657705-pat00003
상기 <수학식 2>에서 TBN은 블록의 총 개수를 나타낸다.
분류부319는 상기 에너지계산부315에서 출력되는 블록별 에너지값(우수한 DCT 계수들의 절대값의 합)들을 순차적으로 입력하며, 상기 입력되는 블록 에너지값을 상기 블록 기준값 Cth와 비교하여 각 블록을 글자블록 또는 배경블록으로 분류한다. 이때 상기 분류부319는 하기 <수학식 3>에 나타낸 바와 같이, Sk 값이 상기 블록 기준값 Cth보다 크거나 같으면 해당하는 BN블록을 글자블록(Character Block: CB)으로 분류하고, 상기 기준값 Cth보다 작으면 해당하는 BN블록을 배경블록(Background Block: BB)으로 분류한다.
Figure 112003003657705-pat00004

상기와 같이 블록분류부211에 분류된 글자블록들의 화소는 0-255의 그레이 레벨(gray level)을 가질 수 있다. 상기 블록분류부211에서 출력되는 글자블록의 영상은 블록그룹핑부213 및 화소판정부217에 입력된다.
상기 블록분류부211에서 출력되는 분류된 블록들은 블록그룹핑부213에 인가된다. 이때 본건출원의 이진화부120은 상기한 바와 같이 영상화면의 글자열을 분류하기 위한 영상화면을 발생하는 것이므로, 배경블록들에 대해서는 상기한 바와 같이 배경화소로 일괄 변환한다. 따라서 상기 배경블록에 대해서는 블록그룹핑 및 기준값계산 동작을 수행하지 않는 것으로 가정한다.
상기 블록그룹핑부213은 상기 블록분류부211에서 출력되는 글자블록을 중심으로 인접한 8개의 블록들을 그룹핑하여 24×24화소의 크기를 가지는 그룹핑된 블록을 생성한다. 이는 상기 글자블록의 크기가 8×8화소의 크기를 갖는데, 이런 크기의 글자블록 하나만으로 배경화소와 글자화소를 구분하기 위한 기준값을 정하여 이진화 과정을 수행하면 블록의 크기가 너무 작아 인접한 글자블록의 기준값과 그 값의 차이가 크게 나서 이진화 영상에서 블록간의 불연속 현상이 발생할 수 도 있다. 따라서 상기와 같이 그룹핑된 블록을 생성하여 이진화를 수행하기 위한 영역을 확장하므로써 이진화의 신뢰성을 향상시킬 수 있게 된다.
화소기준값계산부215는 상기 글자블록의 각 화소를 글자화소와 배경화소로 분류하기 위한 화소기준값 Pth를 계산한다. 상기 화소기준값계산부215는 상기 화소기준값 Pth를 생성하며, 상기 화소기준값 Pth는 글자화소와 배경화소를 구분하여 이진화시 화소 기준값으로 사용된다. 이때 상기 화소기준값 Pth는 두 종류의 화소의 분산의 차(between-class variance)가 최대가 되는 그레이 값(gray value)을 선택하는 오츠(Otsu)의 방식이나 카푸르(Kapur) 방식 등의 다른 방식을 사용하여 선택할 수 있다. 상기 오츠 방식을 사용하여 상기 화소기준값 Pth를 계산하는 것으로 가정한다. 상기 오츠방법에 의한 화소기준값 Pth 계산 방법은 하기와 같은 <수학식 4>에 의해 구할 수 있으며, 이는 오츠(N. Otsu)에 의해 발표된 논문 "A Threshold Selection Method from Gray-Level Histogram" [IEEE Trans. on Systems Man and Cybernetics, Vol.SMC-9, no.1, pp.62-66, Jan. 1979.]에 기재되어 있다.
Figure 112003003657705-pat00005
그러면 상기 화소판정부217은 상기 블록분류부211에서 출력되는 글자블록의 각 화소들을 상기 기준값을 이용하여 배경화소와 글자화소로 이진화하고, 상기 배경블록의 각 화소들을 배경화소로 일괄하여 이진화한다. 즉, 상기 화소판정부217은 상기 글자블록 영상이 입력되면 대응되는 화소기준값 Pth와 상기 글자블록의 화소들을 비교하며, 비교결과 상기 영상화소 값이 상기 화소기준값 Pth 보다 크거나 같으면 글자화소로 분류하고 작으면 배경화소로 분류한다. 그리고 상기 화소판정부217은 상기 분류된 결과에 따라 글자화소는 α밝기 값으로 변환하고 배경화소는 β밝기 값으로 변환하여 이진화한다. 상기 화소판정부217에서 글자블록의 화소들을 이진화하는 방법은 하기 <수학식 5>와 같다.
Figure 112003003657705-pat00006
상기 <수학식 5>에서 y(m,n)은 상기 블록분류부211에서 출력되는 글자블록의 영상 화소들이며, Pth는 상기 화소기준값이고, yB(m,n)은 이진화된 글자블록의 화소들이다.
또한 상기 화소판정부217은 블록분류부211에서 출력되는 배경블록의 화소들을 수신하여 β밝기 값으로 일괄 변환한다.
상기와 같이 이진화부120에서 이진화된 영상화면은 후보스트라이프생성부180 또는 수평화소감축부190에 입력될 수 있다. 여기서는 상기 수평화소감축부190에 입력되는 경우를 가정하여 살펴본다.
상기 수평화소감축부190은 상기 이진화된 영상에 대하여 수평방향으로 설정된 비율로 서브샘플링(subsampling)을 수행한다. 이때 상기 서브샘플링 비율은 2:1이라고 가정한다. 그러면 상기 수평화소감축부190은 상기 이진화된 영상신호에 대하여 수평방향으로 2:1로 서브 샘플링하여 수평방향 방향의 화소의 수를 1/2로 감축한다. 상기와 같이 수평화소를 감축하는 목적은 뒷단의 후보스트라이프생성부180에서 글자열이 스트라이프 형태로 잘 뭉쳐질 수 있도록 하기 위함이다.
상기 후보스트라이프생성부180은 상기 이진화부120에서 출력되는 이진화된 영상화면 또는 상기 수평화소감축부190에서 출력되는 수평화소가 감축된 이진화된 영상화면을 입력한다. 상기 후보스트라이프생성부180은 수신되는 영상화면에서 글자로 이루어진 각 글자열을 스트라이프로 만든다. 상기 후보스트라이프생성부180은 확장기(dilation part) 및 수축기(erosion part)로 구성되는 모포로지컬 필터(morphological filter: 형태학적 필터)로 구현할 수 있다. 상기 모포로지컬 필터는 상기 글자영역을 확장(dilation)한 후 수축(erosion)하여 글자들을 서로 접하게한다. 즉, 상기 확장기는 상기 이진화된 글자영역들을 확장하여 이웃하는 글자들과 접하게 만들며, 이로인해 글자들이 서로 접하게 되는 글자열들을 생성하게 된다. 여기서 상기 생성되는 글자열을 후보스트라이프(candidate stripe)라 칭하기로 한다. 그리고 수축기는 상기 생성된 후보스트라이프을 수축한다. 이는 상기 확장 과정에서 상기 후보스트라이프들이 인접한 상하의 후보스트라이프들과 붙어버린 경우 이를 떨어지게 하기 위함이다. 상기와 같은 모포로지컬 필터는 곤잘레스(R.C.Gonzalez)와 우즈(R.Woods) 등에 의해 출판된 책 "Digital Image Processing" [2nd ed., Prentice Hall, pp.519-560, 2002.)에 기재되어 있다.
상기 수직화소감축부195는 상기 후보스트라이프생성부180에서 출력되는 영상에 대하여 수직방향으로 설정된 비율로 서브샘플링(subsampling)을 수행한다. 이때 상기 서브샘플링 비율은 상기 수평화소감축부190에서와 같은 2:1이라고 가정한다. 그러면 상기 수직화소감축부195는 상기 수평화소 감축에 의해 변환된 영상화면의 가로 대 세로 비율을 상기 영상화면의 비율로 환원시키기 위해 사용된다. 따라서 상기 수직화소감축부195에서 출력되는 영상화면은 상기 영상화면 크기의 가로 세로 각각 1/2로 감축된 영상화면을 출력한다. 여기서 상기 수직화소감축부195에 대신에 수평화소신장부를 사용할 수 있다. 그러면 상기 원 영상화면의 크기로 환원될 수 있다.
스트라이프분류부135는 상기 이진화부120에서 출력되는 이진화된 영상화면, 상기 후보스트라이프생성부180에서 생성되는 영상화면 또는 상기 수직화소감축부195에서 출력되는 영상화면을 입력할 수 있다. 여기서는 상기 수직화소감축부195에서 출력되는 영상화면을 입력하는 것으로 가정한다.
상기 스트라이프분류부135는 상기 이진화된 영상에서 생성된 후보스트라이프에 번호를 매긴다(labeling on candidate stripe). 이때 상기 번호가 매겨지는 후보스트라이프는 방향각을 계산하기 위한 후보스트라이프들이다. 이후 상기 스트라이프분류부135는 상기 번호가 매겨진 후보스트라이프들의 스트라이프 형태를 검사하여 어느 정도 크기 이상을 가지며, 길쭉한 모양을 가지는 후보스트라이프들을 분류한다. 이때 상기 후보스트라이프 분류 방법은 모멘트를 이용한 블럽 크기(blob size)와 이심율(eccentricity)을 이용한다. 하기 <수학식 6>은 블럽 크기와 이심율을 구할 때 사용되는 중심모멘트의 정의를 나타내고 블럽의 크기는 하기 <수학식 6>에서 p=0, q=0일 때 구해지고, <수학식 7>은 중심 모멘트를 이용하려 이심율을 계산하는 방법을 나타내고 있다. 이는 피터스(Pitas)에 의해 출판된 책 "Digital Image Processing Algorithms" [Prentice Hall, pp.326-331, 1993.]에 기재되어 있다.
Figure 112003003657705-pat00007

Figure 112003003657705-pat00008
여기서 상기 이심율e는 후보스트라이프가 얼마나 긴 스트라이프를 가지는가를 나타낸다.
그리고 상기 <수학식 6> 및 <수학식 7>에서 각각 구해지는 이심율e 및 블럽크기 μ(=μ00)를 각각 미리 설정된 기준값 eth 및 μth와 비교하여 후보스트라이프를 스트라이프로 선택한다. 여기서 상기 기준값 eth 및 μth은 실험적으로 구하며, e≥eth 및 μ≥μth인 경우에 해당하는 후보스트라이프를 스트라이프로 분류한다. 그러나 상기 블럽크기 μ 및 이심율e 중에 어느 하나라도 상기 기준값 μth 및 eth 보다 작거나 또는 둘다 작은 경우에는 상기 후보스트라이프는 스트라이프로 선택하지 않는다. 즉, 이런 조건의 경우에는 해당하는 후보 스트라이프는 방향각을 계산하기에 적합하지 않는 스트라이프로 판단하여 스트라이프로 선택하지 않는다. 본 발명의 실시예에서는 상기 블럽크기 μ 및 이심율e들의 조건을 모두 만족하는 후보스트라이프을 스트라이프로 선택하는 것으로 설명하고 있지만, 상기 두 조건들 중에 어느 한 조건만 검사하여 후보스트라이프의 스트라이프 여부를 판정할 수도 있다.
상기와 같이 스트라이프분류부135에서 분류된 스트라이프들은 회전각결정부140에 입력되며, 상기 회전각결정부140은 상기 분류된 스트라이프들 각각에 대하여 방향각(direction angle) θ를 계산하며, 상기 계산된 방향각들의 개수를 누적하여 저장한다. 그리고 상기 개수가 누적 저장된 방향각들 중에서 가장 많은 개수를 가지는 방향각을 회전각으로 결정한다. 도 6은 상기 회전각결정부140에서 스트라이프의 회전각을 계산하는 절차를 설명하기 위한 도면이다. 상기 도 6에서 SP는 상기 스트라이프분류부135에서 분류된 스트라이프이며, x'축 및 y'축은 상기 스트라이프가 위치한 좌표 축이 된다. 따라서 스트라이프분류부135에서 출력되는 스트라이프들에 대하여 각각 상기 스트라이프의 x'축과 X축(real X axis) 간의 방향각θ를 계산하고, 상기 각 스트라이프에 대해 구해진 방향각 θ의 개수를 누적하여 저장한다. 이때 상기 스트라이프 SP에 대한 방향각 θ는 하기 <수학식 8>과 같이 구할 수 있다.
Figure 112003003657705-pat00009
이후 상기 모든 스트라이프들에 대한 방향각θ의 계산을 완료한 후, 상기 회전각결정부140은 상기 누적된 방향각θ들의 개수를 검사하여 개수가 가장 많은 방향각θ를 회전각으로 결정한다. 즉, 상기 회전각결정부140은 개수가 가장 많은 방향각θ를 회전각으로 결정한다. 즉, 상기 회전각결정부140은 가장 많은 스트라이프들의 방향각θ를 회전각으로 결정한다.
상기 회전각이 결정되면, 기울기보정부150은 상기 입력부110에 출력되는 영 상화면을 상기 회전각결정부140에서 결정된 회전각으로 영상화면을 회전시켜 영상신호의 기울기를 보정한다. 즉, 상기 기울기보정부150은 상기 회전각이 결정되면 회전 매트릭스에 의해 상기 영상화면을 회전시킨다. 이때 상기 영상화면의 회전은 역매핑(inverse mapping)방법을 이용한 회전방법을 사용할 수 있다. 역매핑과 회전방법에 관한 설명은 B.Jahne 등에 의해 출판된 책 "Handbook of Computer Vision and Applications" [Academic Press, vol 2, pp. 94-95, 1999] 그리고 L. G. Shapiro와 G.C.Stockman에 의해 출판된 "Computer Vision" [Prentice Hall, pp.415-418, 2001]에 각각 기재되어 있다.
상기와 같이 기울기보정부150이 영상화면을 회전하면, 영상화면의 귀퉁이(corner)에는 화소들이 없는 공백이 나타난다. 상기 공백은 이후의 인식 과정에 영향을 미칠 수 있다. 영상보정부160은 상기 기울기보정부150에 기울기가 보정된 영상화면의 귀퉁이 발생된 공백 영역에 특정 화소들을 채우는 기능을 수행한다(corner filling). 이때 상기 영상보정부160은 기울기가 보정된 영상화면의 귀퉁이 공백에 화소를 채울 때, 수평방향으로 공백영역에서 가장 가까운 화소의 값으로 상기 공백 영역을 채울 수 있다. 또한 상기 공백영역에 이진화시 사용되는 배경화소의 밝기 값으로 일괄 보정할 수도 있다.
상기한 바와 같이 영상화면의 글자들을 인식할 때, 입력되는 영상화면의 글자열에 의한 스트라이프들을 추출한 후, 상기 스트라이프들의 기울기에 따른 방향각들을 계산하고, 상기 계산된 방향각들 중에서 가장 많은 방향각을 회전각으로 결 정한 후, 상기 결정된 회전각에 따라 영상화면을 회전시킨다. 따라서 입력되는 영상화면의 기울기를 보정한 영상화면을 만들 수 있다. 또한 상기 영상화면의 기울기 보정시 화소가 없는 귀퉁이 공백을 특정 화소 밝기 값으로 채울 수 있어 인식시 에러를 줄일 수 있다.
도 7은 본 발명의 제1실시예에 따른 영상화면의 기울기 보정 절차를 도시하는 도면이다. 상기 도 7에서 415단계의 후보 스트라이프 생성 절차를 생략하면, 상기 본 발명의 제1실시예에 따른 영상화면의 기울기 보정절차가 된다. 도 8은 본 발명의 제2실시예에 따른 영상화면의 기울기 보정 절차를 도시하는 도면이다. 본 발명의 제2실시예에 따른 영상화면의 기울기 보정 절차는 본 발명의 제1실시예에서 451단계의 수평화소 감축 및 453단계의 수직화소 감축 절차를 더 수행한다. 이하의 설명에서는 도 8에 도시된 영상화면의 기울기 보정 절차를 중심으로 살펴보기로 한다.
상기 도 8을 참조하면, 먼저 411단계에서 영상화면이 입력되면, 413단계에서 입력되는 영상화면을 블록으로 분할한 후, 분할된 블록들을 글자블록 및 배경블록으로 분류하며, 상기 분류된 글자블록 및 배경블록의 영상 화소들에 대하여 글자화소 및 배경화소들로 이진화를 수행한다. 상기 413단계의 이진화 과정 중에서 글자블록 및 배경블록으로 분류하는 과정은 도 9와 같은 절차로 수행되며, 상기 분류된 글자블록 및 배경블록의 이진화하는 과정은 도 10과 같은 절차로 수행된다.
먼저 상기 도 9를 참조하여 영상화면의 블록 분류 절차를 살펴보면, 상기 영 상화면이 입력되면 511단계에서 상기 영상화면을 설정된 크기의 블록으로 분할한다. 이때 상기 영상화면은 640×480 화소이며 블록은 8×8화소로 가정한다. 따라서 상기 블록분할을 수행하면 4800개의 블록들로 분할됨을 알 수 있다.
이후 513단계에서 상기 블록번호 BN을 0으로 하고 515단계에서 블록번호 BN의 블록을 억세스한다. 그리고 517단계에서 억세스한 블록을 DCT 변환하며, 519단계에서 상기 DCT 변환된 BN 블록 내에서 우수한 DCT 계수들(dominant DCT coefficients)의 절대값의 합 Sk를 계산하여 저장한다. 이때 상기 글자블록의 DCT 계수들(coefficients)의 에너지분포(energy distribution)는 배경블록의 DCT 계수들보다 큰 값을 가지며, 글자블록과 배경블록에 대한 DCT 계수들의 에너지 분포는 상기 도 5a와 같은 특성을 가진다. 그리고 상기 글자블록에 대한 DCT 계수들의 에너지 분포는 도 5b와 같은 특성을 가진다. 따라서 k번째 블록에서의 DCT계수들의 절대값의 합 Sk는 상기 <수학식 1>과 같이 계산할 수 있다. 여기서 상기 k는 BN과 같은 변수이며, 블록번호를 의미한다. 상기 519단계에서 상기 Sk를 구한 후, 521단계에서 마지막 블록의 Sk를 계산하였는가 검사하며, 아니면 523단계에서 블록번호를 하나 증가시킨 후 515단계로 되돌아가 위와 같은 동작을 반복수행한다.
상기 515단계-523단계를 반복수행하면, 상기 각 블록을 DCT변환하게 되며, 상기 상기 <수학식 1>과 같은 계산을 모든 블록들(k=0,1,2,...,4799)에 대하여 수행한다. 그리고 상기 각 블록별 에너지값 Sk(k=0,1,...,4799)들을 이용하여 기준값 Cth를 구한다. 즉, 525단계에서 상기 각 블록별로 계산된 에너지값 Sk(k=0,1,...,4799)들을 가산한 후, 상기 가산된 전체블록의 에너지값을 블록의 총개수(TBN)로 나누어 평균값 <Sk>을 구한다. 이때 상기 <Sk> 값은 상기 <수학식 2>와 같이 구하며, 이때의 상기 <Sk> 값은 상기 블록 영상신호를 글자블록 또는 배경블록으로 판정하기 위한 기준값 Cth가 된다.
상기 기준값 Cth를 구한 후, 상기 각 블록들을 글자블록 및 배경블록으로 분류하는 동작을 수행한다. 이를 위하여 먼저 527단계에서 블록번호 BN을 0으로 초기화한 후, 529단계에서 상기 블록번호BN에 해당하는 블록의 Sk를 억세스한다. 그리고 531단계에서 상기 분류부319는 상기 입력되는 블록의 Sk 값을 상기 기준값 Cth와 비교하여 BN에 해당되는 블록을 글자블록 또는 배경블록으로 분류한다. 이때 상기 블록 분류는 상기<수학식 3>에 나타낸 바와 같이, Sk 값이 상기 기준값 Cth보다 크거나 같으면 분류부319는 533단계에서 해당하는 BN 블록을 글자블록으로 분류하고, 상기 기준값 Cth보다 작으면 535단계에서 해당되는 BN 블록을 배경블록으로 분류한다. 이후 분류된 블록이 마지막 블록인가를 검사하며, 아니면 539단계로 진행하여 블록번호를 하나 증가시킨 후, 529단계로 되돌아가 상기와 같은 동작을 반복 수행한다. 그리고 상기와 같은 동작의 수행을 완료하면, 블록 분류 결과를 출력한다. 상기 영상화면을 블록 크기로 분할한 후, 글자블록 및 배경블록으로 분류한다
상기 분류된 블록영상들 중에서 글자블록들에 대한 그룹핑 동작을 수행한다. 즉, 상기 글자블록들은 각각 인접한 8개의 블록들을 그룹핑하여 24×24화소의 크기를 가지는 그룹핑된 블록으로 생성된다. 그리고 상기 그룹핑된 블록들을 이용하여 상기 글자블록의 각 화소를 글자화소와 배경화소로 분류하기 위한 화소기준값 Pth를 계산한다. 상기 화소기준값 Pth는 글자화소와 배경화소를 구분하여 이진화시 화소 기준값으로 사용된다. 이때 상기 화소기준값 Pth는 두 종류의 화소의 분산의 차(between-class variance)가 최대가 되는 그레이 값(gray value)을 선택하는 오츠(Otsu) 방식이나 카푸르(Kapur) 방식 등의 다른 방식을 사용할 수 있다. 상기 오츠 방식을 사용하여 상기 화소기준값 Pth를 계산하는 것으로 가정한다. 본 발명은 상기한 바와 같이 상기 오츠방법에 의한 화소기준값 Pth 계산 방법을 사용한다고 가정하며, 이는 상기 <수학식 4>에 의해 구할 수 있다.
이후 상기 화소기준값 Pth를 이용하여 글자블록의 영상화소들에 대한 이진화 동작을 수행한다. 상기 이진화 과정은 도 10과 같은 절차로 수행된다.
상기 도 10을 참조하면, 먼저 블록번호 BN을 0으로 초기화하고, 613단계에서 상기 BN 블록의 영상을 억세스한다. 그리고 615단계에서 상기 억세스한 BN 블록이 글자블록인지 아니면 배경블록인지 검사한다. 이때 상기 입력되는 블록이 글자블록이면 619단계에서 상기 글자블록의 주변블록들을 그룹핑하여 그룹핑된 블록을 생성하고, 619단계에서 상기 그룹핑된 블록을 이용하여 화소기준값 Pth를 구한다. 이후 621단계에서 상기 글자블록의 화소번호 PN을 0으로 초기화하고, 623단계에서 PN의 화소 값을 억세스한다. 이후 625단계에서 단계에서 상기 억세스된 화소를 상기 화소 기준값Pth와 비교하여 화소값을 α 또는 β 밝기 값으로 이진화한다. 즉, 상기 억세스된 화소의 밝기 값이 상기 화소기준값Pth 보다 크거나 같으면 627단계에서 해당 화소를 글자화소의 α밝기 값으로 변환하고, 상기 화소기준값Pth 보다 작으면 629단계에서 해당화소를 배경화소의 β 밝기 값으로 변환한다. 그리고 631단계에서 해당 글자블록의 모든 화소들에 대한 이진화 처리를 종료하였는가 검사하며, 아니면 633단계에서 화소번호를 하나 증가시킨 후 623단계로 되돌아가 상기와 같은 이진화 처리 동작을 반복 수행한다. 상기와 같이 이진화 동작을 수행하면 글자블록의 모든 화소들은 α또는 β 밝기 값으로 이진화된다. 그러나 상기 615단계에서 배경블록으로 판정되면, 635단계-641단계를 수행하면서 배경블록의 화소들을 모두 배경화소의 β 밝기 값으로 일괄 변환한다.
상기 글자블록의 이진화 동작을 수행한 후, 643단계에서 현재 이진화된 블록이 상기 영상화면의 마지막 블록인가 검사하며, 아니면 역시 645단계에서 블록번호를 하나 증가시킨 후 613단계로 되돌아가 상기와 같은 동작을 반복 수행한다. 상기와 같은 동작을 반복 수행하면서 영상화면의 글자블록 및 배경블록들의 화소를 이진화한다. 그리고 상기 영상화면의 마지막 블록의 이진화 동작을 수행하면, 643단계에서 이를 감지하고 647단계에서 상기 이진화된 영상화면의 결과값을 저장하고 종료한다.
상기 도 10의 이진화 동작에서 617단계의 블록그룹핑 및 화소기준값 Pth 계 산은 이진화 동작 이전에 수행할 수도 있다. 그러면 상기 블록분류 동작을 수행한 후, 각 글자블록들에 대하여 블록 그룹핑 및 화소기준값 Pth 계산 절차를 수행한 후, 도시하지 않은 메모리의 해당 글자블록번호 BN 영역에서 상기 계산된 화소기준값 Pth를 저장한다. 이후 도 10과 같은 이진화 과정에서 615단계에서 글자블록으로 판단되면, 해당하는 글자블록의 화소기준값 Pth를 억세스한 후 621단계-633단계를 수행하면서 글자블록의 화소를 이진화한다.
이후 451단계에서 상기 이진화된 영상에 대하여 수평방향으로 설정된 비율로 서브샘플링(subsampling)을 수행한다. 상기와 같이 수평화소를 감축하는 목적은 뒷단의 후보스트라이프를 생성할 때 글자열이 스트라이프 형태로 잘 뭉쳐질 수 있도록 하기 위함이다.
그리고 415단계에서 수평화소가 감축된 영상화면에서 글자로 이루어진 각 글자열을 후보스트라이프로 만든다. 도 11은 상기 후보스트라이프생성 절차를 도시하는 도면이다.
상기 도 11을 참조하면, 711단계에서 상기 이진화된 글자영역들을 확장(dilation)을 수행하여 이웃하는 글자들과 접하게 하여 글자들이 서로 접하게 되는 글자열들을 생성한다. 여기서 상기 생성되는 글자열은 후보스트라이프(candidate stripe)가 된다. 그리고 713단계에서 상기 생성된 후보스트라이프를 수축한다. 이는 상기 확장 과정에서 상기 후보스트라이프들이 인접한 상하의 후보스트라이프들과 붙어버린 경우 이를 떨어지게 하기 위함이다.
이후 453단계에서 상기 생성된 후보스트라이프들을 가지는 영상에 대하여 수직방향으로 설정된 비율로 서브샘플링(subsampling)을 수행한다. 이는 상기 수평화소 감축에 의해 변환된 영상화면의 가로 대 세로 비율을 상기 영상화면의 비율로 환원시키기 위함이다. 이때 수직화소감축 동작을 수행하는 대신에 수평화소를 신장하는 절차를 수행할 수도 있다. 그러면 상기 원 영상화면은 입력된 영상화면의 크기로 환원된다.
상기 수직화소 감축 과정을 수행한 후, 417단계에서는 상기 후보스트라이프들 중에서 방향각을 계산할 스트라이프들을 선택하고, 419단계에서 상기 선택된 스트라이프들의 각각에 대한 방향각을 계산하며, 가장 많이 계산된 방향각을 선택하여 회전각으로 결정한다.
도 12는 상기 417단계의 스트라이프 분류 및 상기 419단계의 회전각 결정 과정의 절차를 도시하는 흐름도이다.
상기 도 12를 참조하면, 먼저 811단계에서 상기 이진화된 영상에서 생성된 후보스트라이프에 번호를 매긴다(labeling on candidate stripe). 이때 상기 번호가 매겨지는 스트라이프는 방향각을 계산하기 위한 후보스트라이프들이다. 이후 813단계에서 상기 후보스트라이프 번호 CSN을 0으로 초기화하고, 815단계에서 상기 CSN의 후보스트라이프를 억세스한다. 이후 819단계 - 823단계를 수행하면서 상기 억세스한 CSN의 후보스트라이프의 블럽크기 및 이심율을 계산한 후, 상기 계산된 블럽크기 μ 및 이심율e가 각각 설정된 기준값 μth 및 eth 보다 크거나 같으면 해당하는 CSN의 후보스트라이프를 스트라이프로 분류한다. 여기서 상기 블럽크기μ(= μ00)는 상기 <수학식 6>을 이용하여 구할 수 있으며, 상기 이심율e은 상기 <수학식 7>과 같은 방법으로 구할 수 있다. 여기서 상기 이심율e는 후보스트라이프가 얼마나 긴 스트라이프인가를 나타내며, 블럽크기 μ는 스트라이프의 크기를 나타낸다. 그러나 상기 819단계-823단계에서 상기 블럽크기 μ 및 이심율e 중에 어느 하나라도 상기 기준값 μth 및 eth 보다 작거나 또는 둘다 작은 경우에는 상기 CSN 후보스트라이프는 스트라이프로 선택하지 않는다. 즉, 이런 조건의 경우에는 해당하는 후보 스트라이프는 방향각을 계산하기에 적합하지 않다고 판단하여 스트라이프로 선택하지 않는다. 또한 상기 도 12에서는 먼저 블럽크기 μ를 판단하고 이어서 이심율e을 판단하는 순서로 설명되고 있지만, 먼저 이심율e를 판단하고 이어서 블럽크기 μ를 판단하여도 동일한 결과를 얻을 수 있다. 또한 상기 블럽크기 μ 및 이심율e들 중에 어느 하나만 검사하여 후보스트라이프의 스트라이프 여부를 판정할 수도 있다.
상기 819단계-823단계를 수행하면서 후보스트라이프가 스트라이프로 판정되면, 825단계에서 상기 도 6 및 상기 <수학식 8>과 같은 방법으로 해당 CSN 스트라이프의 방향각 θ를 계산하며, 827단계에서 상기 계산된 방향각을 저장한다. 즉, 상기 후보스트라이프가 스트라이프로 결정되면, 상기 스트라이프에 대한 방향각을 계산하여 저장한다. 상기와 같은 과정을 반복하면, 각 스트라이프들에 방향각 값들이 누적되어 저장되며, 상기 방향각은 상기 스트라이프의 개수만큼 생성된다.
상기 스트라이프의 방향각을 저장한 후, 그리고 상기 819단계 또는 823단계 에서 후보스트라이프가 스트라이프로 결정되지 못한 경우에는 829단계를 수행하며, 상기 829단계에서는 현재의 후보스트라이프 번호 CSN이 마지막 후보스트라이프였는가 검사한다. 이때 마지막 후보스트라이프가 아니면 831단계로 진행하여 CSN을 하나 증가시킨 후, 815단계에서 증가된 CSN의 후보스트라이프을 억세스하여 상기와 같은 동작을 반복 수행한다. 그리고 상기와 같은 절차를 반복 수행하면서 상기 후보스트라이프의 스트라이프 여부를 결정한다. 그리고 상기 결정된 스트라이프들에 대해서는 각각 방향각을 계산하여 그 개수를 누적시킨다. 이후 상기 829단계에서 마지막 후보스트라이프이었음을 확인하면, 841단계에서 상기 누적된 방향각들을 검사하여 가장 많이 누적된 개수의 방향각을 선택하여 회전각으로 결정한다.
상기 회전각 결정되면, 421단계에서 상기 결정된 회전각으로 영상화면을 회전시켜 영상화면 내의 피사체의 기울기를 보정한다. 그리고 423단계에서 상기 피사체의 기울기가 보정된 영상화면의 귀퉁이에 발생된 공백 영역을 특정 화소들로 채운다. 그리고 425단계에서 상기와 같이 보정된 영상화면을 인식기에 출력한다.
상기와 같은 같은 본 발명의 실시예에 따른 영상화면 내의 피사체의 기울기 보정절차를 도 13 및 도 14a-도 14h를 참조하여 살펴본다.
먼저 910 과정에서 입력되는 영상화면은 도 14a와 같다고 가정한다. 상기 도 14와 같은 영상화면은 915과정에서 도 14b와 같이 이진화된다. 이때 상기 이진화 절차는 먼저 수신되는 영상화면을 미리 설정된 블록크기로 분할하며, 분할된 블록들을 각각 글자블록과 배경블록으로 분류한다. 그리고 글자블록을 중심으로 인접한 8개의 블록들을 그룹핑하여 그룹핑된 블록을 만들며, 상기 그룹핑된 블록으로부터 블록 영상의 화소를 글자화소 및 배경화소로 분류하기 위한 화소기준값을 생성한다. 이후 상기 분류된 글자블록의 화소들을 상기 화소기준값과 비교하여 글자화소 및 배경화소로 분류하고, 상기 배경블록의 화소들은 일괄하여 배경화소로 변환한다. 따라서 상기 915과정에서는 상기 도 14a와 같은 입력 영상화면의 화소들을 도 14b와 같이 글자화소 및 배경화소들로 이진화하여 출력한다.
상기 도 14b와 같은 이진화 영상화면은 920단계에서 수평방향으로 서브샘플링되어 도 14c와 같은 영상화면으로 변환된다. 상기 도 14c의 영상화면은 상기 도 14b와 같은 영상화면을 수평방향으로 2:1 서브샘플링한 결과를 도시하고 있으며, 상기와 같이 수평방향으로 화소들을 서브샘플링하는 이유는 뒷단의 후보스트라이프 생성과정에서 글자열이 스트라이프 형태로 뭉쳐지도록 하기 위함이다. 이후 925단계 및 930단계에서 상기 수평 감축된 도 14c와 같은 영상화면을 모포로지컬 필터링하여 후보스트라이프들을 생성한다. 즉, 925단계에서는 상기 도 14c와 같은 영상화면의 이진화된 글자영역들을 확장(dilation)하여 이웃하는 글자들과 서로 접하게 만들어 도 14d와 같이 후보스트라이프을 만들고, 930단계에서는 도 14e와 같이 상기 확장과정에서 후보스트라이프가 상하로 인접한 다른 후보스트라이프와 붙어버린 것을 떨어지게 만든다. 상기와 같이 모포로지컬 필터링 동작을 수행하고 난 후, 935단계에서 상기 도 14e와 같은 영상화면의 수직화소를 서브샘플링하여 원래 영상화면의 비율로 환원시킨다. 도 14f는 모포로지컬 필터링한 이진화 영상의 수직방향의 화소들을 2:1 서브샘플링한 것으로, 상기 수직화소를 서브샘플링하는 목적은 축 소된 영상에서 글자열의 기울어진 각도를 구하기 위함이다.
이후 940과정에서는 상기 도 14f와 같은 영상화면에서 후보스트라이프들에 대한 번호를 부여하며, 945단계에서 상기 각 후보스트라이프들의 이심율 및 블럽 크기를 계산하여 방향각을 계산하기 위한 스트라이프들을 선택한다. 그리고 950과정에서는 상기 선택된 스트라이프들에 대한 방향각을 계산하여 그 개수를 누적한다. 상기 선택된 스트라이프들에 대한 방향각의 계산을 완료하면, 955단계에서 개수가 누적된 방향각들 중에서 개수가 가장 많이 누적된 방향각을 영상화면의 회전각(skew angle)로 결정한다.
상기 회전각이 결정되면, 960과정에서 상기 입력 영상화면을 상기 회전각으로 회전시켜 도 14g와 같이 영상화면의 기울기를 보정한다. 상기 기울기기 보정된 도 14g와 같은 영상화면은 상기 영상화면의 회전에 의해 귀퉁이에 화소가 없는 공백부분이 발생된다. 이를 보정하기 위하여, 965단계에서 도 14h와 같이 상기 영상화면의 귀퉁이 부분에 수평방향으로 가장 가까운 화소 값을 선택하여 채운다. 이후 상기 도 14h와 기울기 및 영상화소의 보정이 종료된 화면은 970단계에서 인식기에 출력된다.
상술한 바와 같이 영상신호를 인식하기 위한 전처리 동작을 수행할 때, 입력되는 영상화면의 기울기를 계산하여 회전각을 구한 후, 입력되는 영상화면을 상기 회전기에 의해 회전시켜 기울기를 보정하므로, 영상화면의 글자 인식 성능을 향상 시킬 수 있다. 또한 상기 영상화면의 회전에 의해 발생되는 영상화면의 귀퉁이 화소들을 보정하므로써, 영상신호의 회전에 의한 영상을 보정할 수 있다.

Claims (18)

  1. 영상화면 내의 피사체의 기울기를 보정하는 장치에 있어서,
    영상화면을 입력하는 입력부와,
    상기 영상화면의 화소들을 각각 글자화소 및 배경화소의 밝기 값으로 이진화하는 이진화부와,
    상기 이진화된 영상화면의 글자영역들에 대하여 확장(dilation)을 수행하여 후보스트라이프들을 생성하는 후보스트라이프생성부와,
    상기 후보스트라이프들 중에서 설정된 크기 이상의 이심율과 블럽크기를 가지는 후보스트라이프들을 스트라이프로 분류하는 스트라이프분류부와,
    상기 분류된 스트라이프들의 각각에 대하여 방향각을 계산하며, 가장 많이 계산된 방향각을 회전각으로 결정하는 회전각결정부와,
    상기 영상화면을 상기 회전각으로 회전시켜 영상화면의 기울기를 보정하는 기울기보정부로 구성된 것을 특징으로 하는 상기 기울기 보정장치.
  2. 제1항에 있어서, 상기 기울기보정부에서 기울기가 보정된 영상화면의 귀퉁이에 화소가 없는 공백 영역 발생 시, 상기 공백 영역에서 수평방향으로 가장 근접한 화소의 값으로 상기 공백 영역을 채워 보정하는 영상보정부를 더 구비함을 특징으로 하는 상기 기울기 보정장치.
  3. 삭제
  4. 제1항에 있어서, 상기 이진화부는,
    블록분류부를 포함하며, 상기 블록분류부는,
    상기 입력되는 영상화면을 미리 설정된 블록 크기로 분할하는 블록분할부와,
    상기 블록분할부에서 출력되는 블록영상들은 DCT(discrete cosine transform) 변환하는 DCT변환부와,
    상기 DCT변환된 각각의 DCT 변환된 블록 내에서 하기 <수학식 9>를 통해 획득 가능한 우수한 DCT 계수(dominant DCT coefficients)의 절대값의 합을 계산하여 해당 블록의 에너지값으로 출력하는 에너지계산부와,
    상기 에너지계산부에서 출력되는 상기 각 블록별로 계산된 에너지값들을 가산한 후, 상기 가산된 전체블록의 에너지값을 블록의 총개수로 나누어 평균한 값을 기준값으로 발생하는 기준값계산부와,
    상기 에너지계산부에서 출력되는 상기 블록별 에너지값들을 순차적으로 입력하며, 상기 입력되는 블록 에너지값을 상기 기준값을 이용하여 글자블록 또는 배경블록으로 분류하는 분류기로 구성된 것을 특징으로 하는 상기 기울기보정장치.
    Figure 712010000176791-pat00038
    여기서
    Figure 712010000176791-pat00039
    는 k번째 블록의 i번째 우수한 DCT 계수를 의미하고, Sk는 k번째 블록의 DCT 계수의 절대값의 합을 의미.
  5. 제4항에 있어서, 상기 블록은 8×8화소의 크기를 가지며, 상기 각 블록의 에너지값은 상기 <수학식 9>에 의해 구해짐을 특징으로 하는 상기 기울기 보정장치.
  6. 삭제
  7. 제1항에 있어서, 상기 후보스트라이프생성부가,
    상기 이진화부에서 이진화된 글자블록의 영역을 확장하여 이웃하는 글자들과 접하는 후보스트라이프들을 발생하는 확장기와,
    상기 확장된 후보스트라이프들의 상하에 위치되는 후보스트라이프들이 이격되도록 상기 후보스트라이프을 수축하는 수축기로 구성된 것을 특징으로 하는 상기 기울기보정장치.
  8. 제7항에 있어서, 상기 후보스트라이프생성부가 모포로지컬 필터로 구현되는 것을 특징으로 하는 상기 기울기 보정장치.
  9. 제1항에 있어서, 상기 스트라이프분류부가,
    상기 후보스트라이프의 모멘트를 이용한 블럽사이즈 및 이심율계산을 통해 후보스트라이프의 긴 정도를 계산하며, 상기 이심율 및 블럽의 크기가 각각에 대응되는 미리 설정된 기준값 보다 크거나 같을때 스트라이프로 분류함을 특징으로 하는 상기 기울기 보정장치.
  10. 제9항에 있어서, 상기 이심율은 하기 <수학식 11>에 의해 계산하고, 상기 블럽의 크기는 하기 <수학식 10>에서 p 및 q가 0일 때 구해짐을 특징으로 하는 상기 기울기보정장치.
    Figure 112003003657705-pat00012
    Figure 112003003657705-pat00013
    여기서 상기 이심율e는 후보스트라이프가 얼마나 긴 스트라이프인가를 나타낸다.
  11. 제1항에 있어서, 상기 회전각결정부가,
    상기 분류된 스트라이프들의 각각에 대하여 방향각을 계산하며, 가장 많은 개수로 계산된 방향각을 상기 회전각으로 결정함을 특징으로 하는 상기 기울기보정장치.
  12. 제11항에 있어서, 상기 회전각결정부가 하기 <수학식 12>에 의해 스트라이프의 방향각을 계산함을 특징으로 하는 상기 기울기보정장치.
    Figure 112009045693459-pat00014
    Figure 112009045693459-pat00041
    ,
    Figure 112009045693459-pat00042
    ,
    Figure 112009045693459-pat00043
    : 블럽(blob)크기
  13. 영상화면 내의 피사체의 기울기를 보정하는 장치에 있어서,
    영상화면을 입력하는 입력부와,
    상기 영상화면의 화소들을 각각 글자화소 및 배경화소의 밝기 값으로 이진화하는 이진화부와,
    상기 이진화 된 영상화면에 대하여 설정된 비율로 서브샘플링을 수행하는 수평화소감축부와,
    상기 이진화된 영상화면의 글자블록들을 확장하여 후보스트라이프들을 생성하는 후보스트라이프생성부와,
    상기 후보스트라이프을 가지는 영상화면에 대하여 수직화소를 설정된 비율로 서브샘플링을 수행하는 수직화소감축부와,
    상기 수직화소가 감축된 후보스트라이프들 중에서 설정된 크기 이상의 블럽 크기와 이심율을 가지는 후보스트라이프들을 스트라이프로 분류하는 스트라이프분류부와,
    상기 분류된 스트라이프들의 각각에 대하여 방향각을 계산하며, 그 개수를 누적하여 가장 많이 누적된 개수를 가지는 방향각을 회전각으로 결정하는 회전각결정부와,
    상기 영상화면을 상기 회전각으로 회전시켜 영상화면의 피사체의 기울기를 보정하는 기울기보정부로 구성된 것을 특징으로 하는 상기 기울기 보정장치.
  14. 제13항에 있어서, 상기 기울기보정부에서 영상화면 내의 피사체의 기울기가 보정된 영상화면의 귀퉁이에 화소가 없는 공백 영역 발생 시, 상기 공백영역에서 수평방향으로 가장 근접한 화소의 값으로 상기 공백 영역을 채워 보정하는 영상보정부를 더 구비함을 특징으로 하는 상기 기울기 보정장치.
  15. 영상화면 내의 피사체의 기울기를 보정하는 방법에 있어서,
    영상화면을 입력하는 과정과,
    상기 영상화면의 화소들을 각각 글자화소 및 배경화소의 밝기 값으로 이진화하는 과정과,
    상기 이진화된 영상화면의 글자영역을 확장하여 후보스트라이프들을 생성하는 과정과,
    상기 후보스트라이프들 중에서 설정된 크기 이상의 이심율과 블럽크기를 가지는 후보스트라이프들을 스트라이프로 분류하는 과정과,
    상기 분류된 스트라이프들의 각각에 대하여 방향각을 계산하는 과정과,
    상기 스트라이프들의 방향각들 중에서 가장 많이 계산된 방향각을 회전각으로 결정하는 과정과,
    상기 입력 영상화면을 상기 회전각으로 회전시켜 영상화면의 기울기를 보정하는 과정으로 이루어짐을 특징으로 하는 상기 기울기 보정방법.
  16. 제15항에 있어서, 상기 기울기가 보정된 영상화면의 귀퉁이에 화소가 없는 공백 영역 발생 시, 상기 공백 영역에서 수평방향으로 가장 근접한 화소의 값으로 상기 공백 영역을 채워 보정하는 과정을 더 구비함을 특징으로 하는 상기 기울기 보정방법.
  17. 영상화면 내의 피사체의 기울기를 보정하는 방법에 있어서,
    영상화면을 입력하는 과정과,
    상기 영상화면의 화소들을 각각 글자화소 및 배경화소의 밝기 값으로 이진화하는 과정과,
    상기 이진화 영상화면에 대하여 수평방향으로 설정된 비율로 서브샘플링을 수행하여 수평화소를 감축하는 과정과,
    상기 수평화소가 감축된 이진화된 영상화면의 글자영역들을 확장하여 후보스트라이프들을 생성하는 과정과,
    상기 후보스트라이프의 이진화 영상화면에에 대하여 수직방향으로 설정된 비율로 서브샘플링을 수행하여 수직화소를 감축하는 과정과,
    상기 수직화소가 감축된 후보스트라이프들 중에서 설정된 크기 이상의 이심율과 블럽크기를 가지는 후보스트라이프들을 스트라이프로 분류하는 과정과,
    상기 분류된 스트라이프들의 각각에 대하여 방향각을 계산하는 과정과,
    상기 각 방향각의 개수를 누적하여 가장 많이 누적된 개수를 가지는 방향각을 회전각으로 결정하는 과정과,
    상기 입력 영상화면을 상기 회전각으로 회전시켜 영상화면의 피사체의 기울기를 보정하는 과정으로 이루어짐을 특징으로 하는 상기 기울기 보정방법.
  18. 제17항에 있어서, 상기 기울기가 보정된 영상화면의 귀퉁이에 화소가 없는 공백 영역 발생 시, 상기 공백 영역에서 수평방향으로 가장 근접한 화소의 값으로 상기 공백 영역을 채워 보정하는 과정을 더 구비함을 특징으로 하는 상기 기울기 보정방법.
KR1020030006417A 2003-01-30 2003-01-30 영상화면 내의 피사체의 기울기 보정 장치 및 방법 KR100946888B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020030006417A KR100946888B1 (ko) 2003-01-30 2003-01-30 영상화면 내의 피사체의 기울기 보정 장치 및 방법
US10/765,085 US7340110B2 (en) 2003-01-30 2004-01-28 Device and method for correcting skew of an object in an image
DE602004018865T DE602004018865D1 (de) 2003-01-30 2004-01-30 Vorrichtung und Verfahren zum Ausrichten von Gegenständen in einem Bild
CNB2004100025560A CN1275190C (zh) 2003-01-30 2004-01-30 用于校正图像中的对象歪斜的方法和装置
EP04002063A EP1462986B1 (en) 2003-01-30 2004-01-30 Device and method for correcting skew of object in image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030006417A KR100946888B1 (ko) 2003-01-30 2003-01-30 영상화면 내의 피사체의 기울기 보정 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20040069864A KR20040069864A (ko) 2004-08-06
KR100946888B1 true KR100946888B1 (ko) 2010-03-09

Family

ID=32822626

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030006417A KR100946888B1 (ko) 2003-01-30 2003-01-30 영상화면 내의 피사체의 기울기 보정 장치 및 방법

Country Status (5)

Country Link
US (1) US7340110B2 (ko)
EP (1) EP1462986B1 (ko)
KR (1) KR100946888B1 (ko)
CN (1) CN1275190C (ko)
DE (1) DE602004018865D1 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680342B2 (en) 2004-08-16 2010-03-16 Fotonation Vision Limited Indoor/outdoor classification in digital images
US8494286B2 (en) * 2008-02-05 2013-07-23 DigitalOptics Corporation Europe Limited Face detection in mid-shot digital images
US8896725B2 (en) * 2007-06-21 2014-11-25 Fotonation Limited Image capture device with contemporaneous reference image capture mechanism
US8593542B2 (en) * 2005-12-27 2013-11-26 DigitalOptics Corporation Europe Limited Foreground/background separation using reference images
US8682097B2 (en) 2006-02-14 2014-03-25 DigitalOptics Corporation Europe Limited Digital image enhancement with reference images
US7606417B2 (en) * 2004-08-16 2009-10-20 Fotonation Vision Limited Foreground/background segmentation in digital images with differential exposure calculations
US8330831B2 (en) 2003-08-05 2012-12-11 DigitalOptics Corporation Europe Limited Method of gathering visual meta data using a reference image
JP4574235B2 (ja) * 2004-06-04 2010-11-04 キヤノン株式会社 画像処理装置、及びその制御方法、プログラム
US8320641B2 (en) * 2004-10-28 2012-11-27 DigitalOptics Corporation Europe Limited Method and apparatus for red-eye detection using preview or other reference images
US7692696B2 (en) 2005-12-27 2010-04-06 Fotonation Vision Limited Digital image acquisition system with portrait mode
KR100886611B1 (ko) * 2007-08-14 2009-03-05 한국전자통신연구원 영상에서 점진적 화소 확장에 의한 선분 추출 방법 및 장치
US8249391B2 (en) * 2007-08-24 2012-08-21 Ancestry.com Operations, Inc. User interface method for skew correction
US8422788B2 (en) * 2008-08-26 2013-04-16 Microsoft Corporation Automatic image straightening
US8370759B2 (en) 2008-09-29 2013-02-05 Ancestry.com Operations Inc Visualizing, creating and editing blending modes methods and systems
US8472735B2 (en) * 2010-09-30 2013-06-25 The Charles Stark Draper Laboratory, Inc. Attitude estimation with compressive sampling of starfield data
US8472736B2 (en) 2010-09-30 2013-06-25 The Charles Stark Draper Laboratory, Inc. Attitude estimation by reducing noise with dragback
US8472737B2 (en) 2010-09-30 2013-06-25 The Charles Stark Draper Laboratory, Inc. Attitude estimation in compressed domain
CN102567981A (zh) * 2010-12-21 2012-07-11 鸿富锦精密工业(深圳)有限公司 影像拍摄偏差修正系统及方法
US8643741B2 (en) * 2012-01-17 2014-02-04 Apple Inc. Orientation detection using image processing
US9177360B2 (en) 2012-09-11 2015-11-03 Apple Inc. Automatic image orientation and straightening through image analysis
US10191941B1 (en) * 2014-12-09 2019-01-29 Cloud & Stream Gears Llc Iterative skewness calculation for streamed data using components
CN105372184B (zh) * 2015-11-05 2017-12-15 北京印刷学院 一种自动检测光柱镭射纸光柱倾斜角度的方法
US10158769B2 (en) * 2016-04-28 2018-12-18 Kyocera Document Solutions Inc. Data transmission system and data transmission method
JP2018029289A (ja) * 2016-08-18 2018-02-22 ブラザー工業株式会社 画像処理装置および画像処理方法
JP6631647B2 (ja) * 2018-03-08 2020-01-15 株式会社島津製作所 走査型プローブ顕微鏡及び表面画像補正方法
KR20200089074A (ko) * 2019-01-16 2020-07-24 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 블록에 기반한 스큐 보정 방법
CN111641819B (zh) * 2020-05-19 2022-03-01 浙江大华技术股份有限公司 白平衡增益校正的方法、设备、系统和计算机设备
NO346137B1 (en) * 2020-06-17 2022-03-14 Pexip AS Method, computer program and system for detecting changes and moving objects in a video view
US20230106967A1 (en) * 2021-10-01 2023-04-06 SleekText Inc. System, method and user experience for skew detection and correction and generating a digitized menu

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06282684A (ja) * 1993-03-25 1994-10-07 Nec Corp 文字認識装置
JPH1096520A (ja) 1996-09-24 1998-04-14 Osaka Gas Co Ltd 温風加熱式オーブン用パン焼き保持具
JPH11272795A (ja) 1998-03-18 1999-10-08 Toshiba Corp 文字読取装置と文字読取方法および文字検査装置と文字検査方法
JP2002170080A (ja) 2000-11-30 2002-06-14 Mitsui Eng & Shipbuild Co Ltd 傾きをもった文字画像からの文字認識方法およびその装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0810132B2 (ja) * 1986-06-04 1996-01-31 富士電機株式会社 対象パタ−ンの回転角検出方式
US5214718A (en) * 1986-10-06 1993-05-25 Ampex Systems Corporation Scan-in polygonal extraction of video images
JP3025809B2 (ja) * 1989-08-11 2000-03-27 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 表示装置
US5131049A (en) 1989-12-08 1992-07-14 Xerox Corporation Identification, characterization, and segmentation of halftone or stippled regions of binary images by growing a seed to a clipping mask
US5101438A (en) * 1990-02-02 1992-03-31 Ricoh Company, Ltd. Method of discriminating different kinds of image areas, involving two-dimensional orthogonal transforms
JPH10233693A (ja) * 1996-12-16 1998-09-02 Canon Inc 画像処理方法及び装置並びに記憶媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06282684A (ja) * 1993-03-25 1994-10-07 Nec Corp 文字認識装置
JPH1096520A (ja) 1996-09-24 1998-04-14 Osaka Gas Co Ltd 温風加熱式オーブン用パン焼き保持具
JPH11272795A (ja) 1998-03-18 1999-10-08 Toshiba Corp 文字読取装置と文字読取方法および文字検査装置と文字検査方法
JP2002170080A (ja) 2000-11-30 2002-06-14 Mitsui Eng & Shipbuild Co Ltd 傾きをもった文字画像からの文字認識方法およびその装置

Also Published As

Publication number Publication date
EP1462986A3 (en) 2006-05-10
CN1519768A (zh) 2004-08-11
EP1462986B1 (en) 2009-01-07
US20040184674A1 (en) 2004-09-23
EP1462986A2 (en) 2004-09-29
US7340110B2 (en) 2008-03-04
CN1275190C (zh) 2006-09-13
KR20040069864A (ko) 2004-08-06
DE602004018865D1 (de) 2009-02-26

Similar Documents

Publication Publication Date Title
KR100946888B1 (ko) 영상화면 내의 피사체의 기울기 보정 장치 및 방법
KR100977713B1 (ko) 영상신호의 글자 인식을 위한 전처리 장치 및 방법
CN107609549B (zh) 一种自然场景下证件图像的文本检测方法
JP5008572B2 (ja) 画像処理方法、画像処理装置およびコンピュータ可読媒体
JP3353968B2 (ja) 画像処理装置
US5073953A (en) System and method for automatic document segmentation
US20030035580A1 (en) Method and device for character location in images from digital camera
JP2002024836A (ja) ディジタルイメージから表題を抽出する方法
KR20040069867A (ko) 영상신호의 이진화 장치 및 방법
KR100593986B1 (ko) 영상화면 내의 글자 이미지를 인식하는 장치 및 방법
EP1457927A2 (en) Device and method for detecting blurring of image
US7130085B2 (en) Half-tone dot elimination method and system thereof
Herwanto et al. Zoning feature extraction for handwritten Javanese character recognition
KR20040069865A (ko) 영상화면 내의 글자영역 확장장치 및 방법
Liu et al. Document image binarization based on texture analysis
JP6797763B2 (ja) 文字認識装置
JP2789647B2 (ja) 線画像認識方法
JP3210224B2 (ja) 文字認識装置
AU2004242419A1 (en) Analysing digital image of a document page
Xingyuan et al. Skeletonizing by compressed line adjacency graph in two directions
JPH08221513A (ja) 画像処理装置及びその方法
AU2005211628A1 (en) Processing digital image
AU2004242421A1 (en) Segmenting digital image and producing compact representation
AU2004242418A1 (en) Generating compressed output representation

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140227

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160226

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee