KR100468461B1 - 이미지프로세싱을 통한 OMR독취 (Local 또는 원격 처리) - Google Patents

이미지프로세싱을 통한 OMR독취 (Local 또는 원격 처리) Download PDF

Info

Publication number
KR100468461B1
KR100468461B1 KR1020040013219A KR20040013219A KR100468461B1 KR 100468461 B1 KR100468461 B1 KR 100468461B1 KR 1020040013219 A KR1020040013219 A KR 1020040013219A KR 20040013219 A KR20040013219 A KR 20040013219A KR 100468461 B1 KR100468461 B1 KR 100468461B1
Authority
KR
South Korea
Prior art keywords
color
image
mark
array
response
Prior art date
Application number
KR1020040013219A
Other languages
English (en)
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 KR1020040013219A priority Critical patent/KR100468461B1/ko
Application granted granted Critical
Publication of KR100468461B1 publication Critical patent/KR100468461B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1473Methods for optical code recognition the method including quality enhancement steps error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 이미지 프로세싱을 활용한 OMR 독취방법에 관한 것이다.
사용자가 OMR Card 또는 OMR Sheet 를 스캐너로 스캔하여 저장하는 (S1)단계;
처리 해야할 이미지를 프로그램내의 Picture Box 로 가져오는 (S2)단계;
이미지 사이즈를 표준사이즈로 변환하는 (S3,S4)단계;
이미지 레벨을 0~255의 8Bit 레벨로 표준화 하는 (S5)단계;
타이밍마크의 범위를 판단하여 180도 회전하는 (S6)단계;
스캔시의 스캔오류를 보정하여 기울어진 이미지를 바르게 세우는 Sheet 보정 (S7)단계;
타이밍 마크의 정확한 위치를 판단하는 타이밍마크 인식 (S8)단계;
응답마크영역의 칼라를 분석하여 유효한 칼라를 결정하는 (S9)단계;
균일하지 않은 응답마킹 상태를 기준으로 전체적인 응답마크의 위치를 판단하는 (S10)단계;
응답마크의 마킹되어진 농도를 산출하는 (S11)단계를 통하여 OMR Card 또는 OMR Sheet 를 독취하여 활용할 수 있다
본발명의 핵심 기술은 다음과 같다
1. 이미지의 기울어짐을 보정하는 방법
2. 타이밍마크를 인식하는 방법.
3. RGB 칼라별로 농도를 보정하는 방법.
4. 마킹되어진 내용을 기반으로 Sheet 전체의 응답마크의 위치를 산출하는 방법.
5. 마킹되어진 위치의 마크농도를 산출하는 방법.

Description

이미지프로세싱을 통한 OMR독취 (Local 또는 원격 처리) { OMR Reader By Image Processing (Local Or Remote Processing) }
본 발명은 기타 여러 연구진 들이 팩스나 이미지를 활용하여 연구를 시도 하였으나 완성되지 못하고 이미지 스캔의 기기적 특성과 일률적이지 못한 이미지의 상태로 인하여 완성되지 못한 상황이다.
본 발명은 비주얼 베이직으로 개발되었으며 2004년 2월 현재의 처리 속도는 2.4G 펜티엄컴퓨터 에서 2초~3초 에 처리 되었으나 앞으로는 처리 속도의 향상을 위하여 어셈블러나 기타의 언어로 보완 개발을 하여 처리 속도를 높여 신속한 결과를 얻는 것이다.
도 1 은 본발명의 개략적인 순서도 이다.
도 2 는 OMR Sheet 의 기본 구조와 마크인식의 기준을 보여주고 있다.
도 3 은 OMR Sheet 를 타이밍마크 영역과 응답마크영역으로 나누어서 처리되고 있음을 보여준다.도 4 는 이미지 표준화를 위한 (S3,S4,S5,S6)단계를 보여준다.도 5 는 스캔오류로 인한 기울어짐을 보정하는 (S7)단계를 보여준다.도 6 은 최종 표준화된 이미지에서 타이밍마크의 위치 판단과 응답마크영역 에서의 유효한 칼라를 결정하는 작업영역을 보여준다. (S8,S9)단계도 7 은 불규칙한 응답마크를 인식하고 처리되어야할 응답마크의 배열을 산출하는 과정을 보여준다.(S10)단계도 8 은 원본이미지를 이미지프로세싱 하여 산출된 타이밍마크와 응답마크의 배열 그리고 농도데이타를 같은 사이즈의 비어있는 이미지에 표현한 결과이다
1. 이미지 스캔 : 사용자가 OMR Card 또는 OMR Sheet를 스캐너로 스캔하여 칼라이미지를 8Bit 칼라의 BMP 형식으로 저장한다.(S1)
2. 이미지 로드: 본 프로그램은 처리 해야할 이미지를 프로그램내의 Picture Box 로 가져 온다.(S2)
3. 이미지 표준화 : 본 프로그램은 Picture Box 의 이미지사이즈가 표준사이즈 보다 크거나 작을경우 표준사이즈로 만든다. 본 프로그램에서는 세로610픽셀 * 가로432픽셀을 표준사이즈로 하고 있으며 정밀도와 본프로그램이 실행되는 컴퓨터 시스템의 처리능력에 따라 표준사이즈는 변경될 수 있다. (S3)
4. 이미지 회전 : 본 프로그램은 Picture Box 의 가로픽셀수가 세로픽셀수 보다 클경우 Picture Box 를 세로로 회전시킨다.(S4)
5. 이미지 레벨 표준화 : 본 프로그램은 Picture Box 의 R,G,B 칼라별 최저칼라값와 최고칼라값을 산출하여 칼라별 0~255 레벨의 8Bit 칼라 이미지로 만들어 농도를 보정한다.(S5)
예를 들어 128~255레벨의 밝은 이미지일 경우 최저값이 128로 매우 높은 레벨이라 독취율이 낮은 관계로 독취율을 높이기 위하여 0~255의 레벨로 농도를 보정한다.
아래는 본 프로그램이 이미지 레벨을 표준화한 방법이다.
1) 다음작업의 처리속도 향상을 위하여 Picture Box 의 모든픽셀을 내부의 첫번째칼라배열로 저장한다. 칼라배열의 형식 = 칼라배열명 ( 가로픽셀위치 , 세로픽셀위치 , 칼라구분 ) 의 Byte Type 이다.
2) 첫번째칼라배열의 모든픽셀을 검색하여 픽셀별 R,G,B 칼라값을 노이즈부분인 하위 4Bit를 무시하고 ( R,G,B 각 값에 And &HF0 을한다 ) 이렇게 산출된 R,G,B 칼라값이 모두 같을경우 이값의 최저칼라값과 최대칼라값을 구한다.
3) 이렇게 산출된 최저칼라값과 최대칼라값을 기초로 중간칼라값과 변위값을 구한다.
중간칼라값 = 최저칼라값 + ( ( 최대칼라값 - 최저칼라값 ) / 2 )
변위값 = 255 / ( 최대칼라값 - 최저칼라값 + 1 )
4) 첫번째칼라배열의 모든픽셀을 검색하여 변위값을 적용하여 재적용칼라값을 구하여 첫번째칼라배열에 다시 저장한다.
재적용칼라값 = 128 + ( 검색칼라값 - 중간칼라값 ) * 변위값
5) 상기의 계산 방식에 의한 계산예
이미지를 검색하여 얻어진 최저칼라값과 최대칼라값이 아래와같을때
최저칼라값 = 64 , 최대칼라값 = 240
중간칼라값 = 64 + ( ( 240 - 64 ) / 2 ) ==> 152
변위값 = 255 / ( 240 - 64 + 1 ) ==> 1.440678
검색칼라값별 재적용칼라값
64 일때 재적용칼라값 = 128+(64-152)*1.440678 ==> 1.22
66 일때 재적용칼라값 = 128+(66-152)*1.440678 ==> 4.1
151 일때 재적용칼라값 = 128+(151-152)*1.440678 ==> 126.56
152 일때 재적용칼라값 = 128+(152-152)*1.440678 ==> 128
153 일때 재적용칼라값 = 128+(153-152)*1.440678 ==> 129.44
239 일때 재적용칼라값 = 128+(239-152)*1.440678 ==> 253.34
240 일때 재적용칼라값 = 128+(240-152)*1.440678 ==> 254.78
6) 이렇게 하여 0~255 레벨의 8Bit 칼라 이미지가 첫번째칼라배열에 만들어 졌다.6. 타이밍마크 범위 판단 : 본 프로그램은 Picture Box 를 세웠는데도 Picture Box 가 180도로 회전되어 있을 수 있으므로 타이밍마크의 범위가 왼쪽인지 오른쪽인지 판단하여 첫번째칼라배열을 필요에 의하여 180도 회전시켜 표준화 하여 두번째칼라배열에 저장한다.(S6)아래는 본 프로그램이 타이밍마크의 범위를 판단한 방법이다.1) 타이밍마크는 첫번째칼라배열의 왼쪽의 특정 위치에 자리하고 있으며 검정색으로 R,G,B 각 칼라값이 같고 0 에 가까운 값이다.2) 타이밍마크가 있어야할 왼쪽범위는 첫번째칼라배열의 가로배열수의 하위 10% 로 사용하고 있고 오른쪽범위는 첫번째칼라배열의 가로배열수의 상위 10% 로 사용하고 있으며 이값은 이미지의 상태에 따라 증감할 수 있다.2) 타이밍마크로 인식하는 기준레벨은 최대칼라값인 255 의 75% 인 192 로 정하여 사용하고있으며 이값은 이미지의 상태에 따라 증감할 수 있다.3) 첫번째칼라배열의 왼쪽범위의 픽셀별 칼라값을 검색하여 R,G,B 칼라값이 기준레벨 보다 모두 작을경우 검정색으로 인식하고 '왼쪽검정색픽셀수'를 하나씩 증가하여 범위내의 '왼쪽검정색픽셀수'를 얻는다.4) 첫번째칼라배열의 오른쪽범위의 픽셀별 칼라값을 검색하여 R,G,B 칼라값이 기준레벨 보다 모두 작을경우 검정색으로 인식하고 '오른쪽검정색픽셀수'를 하나씩 증가하여 범위내의 '오른쪽검정색픽셀수'를 얻는다.5) '오른쪽검정색픽셀수'가 '왼쪽검정색픽셀수'보다 클경우 첫번째칼라배열을 180도 회전 시켜 두번째칼라배열에 넣고 '오른쪽검정색픽셀수'가 '왼쪽검정색픽셀수'보다 작을경우 첫번째칼라배열을 두번째칼라배열 에 그대로 복사한다.6) 이렇게 하여 타이밍마크가 왼쪽에 있는 두번째칼라배열이 만들어 졌다.7. Sheet 보정 : 본 프로그램은 OMR 이미지가 기울여 스캔 되었을 경우 기울림의 정도를 계산하여 필요한 만큼 회전하여 보정한 이미지를 만든다.(S7)타이밍마크를 정확하게 인식하고 정확한 위치에 응답마크를 배치하기 위하여 최대한 Sheet의 원본 이미지 상태로 보정한다아래는 본 프로그램이 Sheet의 기울림을 보정한 방법이다.1) 타이밍마크를 인식하는 방법은 두번째칼라배열의 왼쪽에서 오른쪽으로의 연속된 검정색픽셀이 n개 이상 발견되었을 경우 이 검정색픽셀의 그룹을 타이밍마크로 인정한다. 본 프로그램에서는 연속된 검정색픽셀의 수 n을 3으로 적용 하였으나 이미지의 상태에 따라 증감할 수 있다.2) 두번째칼라배열을 위에서 아래로 검색하여 최상위의 타이밍마크를 찾고 발견되어진 타이밍마크의 가로위치를 '최상위타이밍마크가로위치'에 저장하고 세로위치를 '최상위타이밍마크세로위치'에 저장한다.3) 두번째칼라배열을 아래에서 위로 검색하여 최하위의 타이밍마크를 찾고 발견되어진 타이밍마크의 가로위치를 '최하위타이밍마크가로위치'에 저장하고 세로위치를 '최하위타이밍마크세로위치'에 저장한다.4) '기울림보정값'은 ( '최하위타이밍마크가로위치' - '최상위타이밍마크가로위치' ) / ( '최하위타이밍마크세로위치' - '최상위타이밍마크세로위치' ) 의 식으로 구한다.5) 구하여진 '기울림보정값'은 세로위치에 대한 가로위치의 증감값이다.6) 첫번째칼라배열내 각각의 좌표에 두번째칼라배열의 계산되어진 좌표의 픽셀값을 Load 저장한다. 원본은 두번째칼라배열이고 보정하여저장될 곳은 첫번째칼라배열 이다.7) 첫번째칼라배열의 좌표에 대한 두번째칼라배열의 좌표값 계산은 아래와 같다.두번째칼라배열가로위치 = 첫번째칼라배열가로위치 - ( ( 표준사이즈의 세로픽셀수 / 2 ) - 첫번째칼라배열의세로위치 ) * '기울림보정값'두번째칼라배열세로위치 = 첫번째칼라배열세로위치 - ( ( 표준사이즈의 가로픽셀수 / 2 ) - 첫번째칼라배열의가로위치 ) * '기울림보정값'8) 이렇게 하여 기울림이 보정된 이미지가 첫번째칼라배열에 저장 되었다.8. 타이밍마크 인식 : 본 프로그램은 최종적으로 표준화된 이미지 에서 타이밍 마크의 위치를 판단한다.(S8)타이밍마크 영역 내에서 가로로 연속된 검은색 픽셀 수가 xx개 이상이고 이러한 연속된 검은색 픽셀의 배열이 세로로 yy개 이상 일때 하나의 타이밍마크로 인식하고, 가로로 연속된 백색 픽셀 수가 xxx개 이상이고 이러한 연속된 백색 픽셀의 배열이 세로로 yyy개 이상 일때 타이밍마크가 없는 공간으로 인식한다.아래는 본 프로그램이 타이밍마크를 인식하는 방법이다.1) 첫번째칼라배열에서 세로좌표를 위에서 아래로 가로좌표를 왼쪽에서 오른쪽으로 검색하면서 가로로 연속된 검은색 픽셀 수가 xx개 이상인 타이밍마크를 찻아 발견되어진 타이밍마크의 '가로시작위치'와 '가로끝나는위치'를 zzz(세로위치)에 저장한다.2) zzz(세로위치)를 검색하여 가장 빈도수가 많은 '가로시작위치'와 '가로끝나는위치'를 산출하여 이값을 '타이밍마크가로시작위치'와 '타이밍마크가로끝나는위치'로 저장하고 '응답마크수'에 48을 적용한다3) 만약 '타이밍마크가로시작위치'와 '타이밍마크가로끝나는위치'가 산출되지 않았다면 검색범위를 오른쪽으로 옮겨 재검색을 하여 '타이밍마크가로시작위치'와 '타이밍마크가로끝나는위치'를 산출 저장하고 '응답마크수'에 48을 적용한다4) '타이밍마크가로시작위치'와 '타이밍마크가로끝나는위치'가 산출되었다면 '타이밍마크가로끝나는위치'의 오른쪽으로 또다른 타이밍마크의 유무를 확인하여 타이밍마크가 존재한다면 오른쪽에있는 타이밍마크를 유효한것으로 하여 새로발견되어진 위치를 '타이밍마크가로시작위치'와 '타이밍마크가로끝나는위치'로 저장하고 '응답마크수'에 24를 적용한다. 48칼람 OMR은 타이밍마크가 1열로 배열되어 있으며 24칼람 OMR은 타이밍마크가 2열로 배열되어 있다.5) 산출 되어진 '타이밍마크가로시작위치'와 '타이밍마크가로끝나는위치'의 중간값을 '타이밍마크가로중간위치'에 저장하고 첫번째칼라배열에서 '타이밍마크가로중간위치'값의 가로좌표에서 세로좌표를 위에서 아래로 검색하여 타이밍마크의 세로위치를 타이밍Position(타이밍카운터)에 저장하고 타이밍마크의 평균높이를 구하여 '타이밍평균높이'에 저장한다.6) 이렇게 하여 타이밍Position(타이밍카운터)에 타이밍마크의 세로위치가 얻어졌고 '타이밍평균높이'에 타이밍마크의 평균높이가 얻어졌으며 타이밍마크의 위치를 모두 판단 하였다. '응답마크수'는 응답마크의 크기를 판단할때 적용된다.9. 응답마크 영역 칼라 분석 : 본 프로그램은 응답마크 영역의 칼라를 분석하여 유효한 칼라를 결정한다.(S9)OMR Sheet의 응답마크 영역은 마킹해야할 곳의 위치가 칼라로 인쇄되어 있으므로 이러한 칼라를 분석하여 가장 변화율이 작은 칼라를 유효한 칼라로 결정하고 이 데이타를 기반으로 응답마크의 위치를 판단하게 된다.아래는 본 프로그램이 응답마크 영역 칼라를 분석한 방법이다.1) 첫번째칼라배열에서 가로좌표를 '타이밍마크가로끝나는위치'다음부터 오른쪽으로 세로좌표를 위에서 아래로 검색하면서 R,G,B 칼라값이 모두 128보다 작을때 Low칼라값에누적 (LowRsum = LowRsum + R칼라값 , LowGsum = LowGsum + G칼라값 , LowBsum = LowBsum + B칼라값 )하며 Low누적카운트 ( LowSumCount = LowSumCount + 1 )하고 R,G,B 칼라값중 128보다 큰것이 있을때 High칼라값에누적 (HighRsum = HighRsum + R칼라값 , HighGsum = HighGsum + G칼라값 , HighBsum = HighBsum + B칼라값 )하며 High누적카운트 ( HighSumCount = HighSumCount + 1 )한다.2) 이렇게 산출된 칼라누적값과 누적카운트를 기반으로 R,G,B칼라별 평균칼라값을 구한다.3) 평균칼라R = ((HighRsum / HighSumCount) - (LowRsum / LowSumCount)) / 2 + (LowRsum / LowSumCount)4) 평균칼라G = ((HighGsum / HighSumCount) - (LowGsum / LowSumCount)) / 2 + (LowGsum / LowSumCount)5) 평균칼라B = ((HighBsum / HighSumCount) - (LowBsum / LowSumCount)) / 2 + (LowBsum / LowSumCount)6) 평균칼라R 과 평균칼라G 와 평균칼라B 중 가장 작은값을 '평균칼라'에저장하고 선택되어진 칼라를 유효한 칼라로 정한다. 본 프로그램 에서 유효한칼라는 R = 1 , G = 2 , B = 3 으로 저장된다.6) 이렇게 하여 '평균칼라'의 값과 유효한 칼라가 정하여 졌다.10. 응답마크의 위치 판단 : 본 프로그램은 산출된 유효한 칼라와 '평균칼라'를 기반으로 응답마크의 위치가 타이밍마크를 기준으로 어떻게 배열 되었는지 판단한다.(S10)균일하지 않은 마킹 상태(응답마크의 모든 위치에 마킹되어지지 않으며 일부의 위치에 집중되어 마킹됨)를 기준으로 전체적인 응답마크의 위치를 판단하는 단계로 몇개 안되는 마킹 상태를 기반으로 응답마크간의 최대공약수를 찾아 응답마크의 갯수와 응답마크간의 거리 그리고 응답마크의 크기를 산출한다.아래는 본 프로그램이 응답마크의 위치를 판단한 방법이다.1) 응답마크는 검정색 펜으로 내부가 채워져 있는 동그란 형태로 표기 하므로 응답마크간의 거리와 왼쪽 첫번째 응답마크의 시작위치를 정함으로서 응답마크의 배열상태를 판단할 수 있다.2) 첫번째칼라배열에서 가로좌표를 '타이밍마크가로끝나는위치'다음부터 오른쪽으로 세로좌표를 위에서 아래로 검색하면서 첫번째칼라배열(X,Y,유효한칼라)의 값이 '평균칼라'값 보다 작은경우의 수를 ActiveMark(응답마크간의거리,응답마크시작위치)에 저장한다. 본 프로그램 에서는 응답마크간의거리는 0.03 Point Step 으로 , 응답마크시작위치는 0.3 Point Step 으로 처리 하였으며 각각의 Step 은 이미지의 상태와 표준사이즈에 따라 변동될 수 있다.3) ActiveMark(응답마크간의거리,응답마크시작위치)의 값 중에서 가장큰 값의 응답마크시작위치를 ActiveMarkStartCenterX 에 저장하고 응답마크간의 거리를 ActiveMarkSetGap 에 저장한다4) 응답마크의 크기는 '응답마크수'가 48이면 MarkWidth = ActiveMark _ SetGap - 2 를 적용하고 '응답마크수'가 24이면 MarkWidth = ( ActiveMarkSetGap / 2 ) -2 를 적용한다. 응답마크의 크기는 이미지의 상태와 표준사이즈의 크기에 따라 기준이 변동될 수 있다.5) 이렇게 하여 응답마크시작위치,응답마크간의거리,응답마크의 크기가 산출되어 ActiveMarkStartCenterX , ActiveMarkSetGap , MarkWidth 에 저장 되었다.11. 응답마크의 농도 계산 : 본 프로그램은 산출된 타이밍Position(타이밍카운터)와 응답마크의 배열상태를 이용하여 응답마크의 농도를 산출한다.(S11)계산 되어진 각 해당 응답마크 위치에 몇개의 검은색 픽셀이 존재하며 그 농도(검은픽셀이 뭉쳐있는경우 농도값을 증가시킨다)는 어떤지 산출하여 농도데이터를 만든다.아래는 본 프로그램이 응답마크의 농도를 산출한 방법이다.1) 첫번째칼라배열의 응답마크위치에서 검은픽셀이 뭉쳐있는 경우에 따라 농도값을 높인다. 농도누적 방법은 아래와 같다2) 응답마크위치의 위쪽 , 아래쪽 , 왼쪽 , 오른쪽이 검은픽셀이면 각각에 대하여 농도를 + 2 한다.3) 응답마크위치의 위왼쪽 , 위오른쪽 , 아래왼쪽 , 아래오른쪽이 검은픽셀이면 각각에 대하여 농도를 + 1 한다.4) 응답마크위치의 주위픽셀이 검은색일경우 연결추적하여 농도값을 증가시킨다.5) 산출 되어진 농도값의 최대값과 분포형태를 기준으로 표준농도값으로 변환 한다. 본 프로그램에서는 0~15(0~&HF)의 값을 표준농도값으로 하고 있으며 후처리 과정상 필요 하다면 표준농도값의 범위를 변경할 수 있다.6) 이와같이 하여 응답마크좌표의 마킹되어진 농도가 산출 되었다.
12. 처리된 자료의 저장 : 산출된 OMR 농도데이타를 임의의 데이타 형태로 저장한다.
Off Line 을 통하여 처리 되던 기존의 시스템은 시간적으로나 비용적으로 많은 시간과 비용이 필요 하였으며 이러한 처리 시스템은 학생상담이나 기타의 이유로 OMR 을 활용한 기타검사의 결과활용의 시기를 늦추는 이유가 되었다 이에 본 발명을 통하여 많은 사람들이 좀더 빠른 시간안에 좀더 저렴한 비용으로 같은 서비스를 받을 수 있을 것이다.
또한 대단위 회사나 소규모 직장에서 자체 검사를 개발하여 평가 할 수 있으며 그 비용 또한 기존의 방법보다 저렴하게 처리 할 수 있다
이는 신속한 평가와 결과처리로 인하여 좀더 많은 사람들이 그 혜택을 볼 수 있으리라 생각 한다.
또한 기존의 OMR 답안 작성시 OMR용 수성 싸인펜 이나 연필만 사용 할 수 있었으나 본 발명으로 인하여 기타의 다른 펜(스캐너로 스캔한 결과가 검정색으로 인식되는 펜)들도 사용이 가능하다.

Claims (1)

  1. 이미지 프로세싱을 활용한 OMR 독취방법에 있어서:
    이미지를 표준사이즈인 ( 610H * 432W ) 또는 ( 432H * 610W ) 로 만드는 (S3)단계;
    이미지의 가로넓이가 세로높이보다 클경우 선택적으로 이미지를 90도 회전시키는 (S4)단계;
    이미지의 칼라레벨을 0~255의 8Bit 레벨로 표준화하여 첫번째칼라배열에 저장하는(S5)단계;
    첫번째칼라배열에서 타이밍마크의 범위를 판단하여 선택적으로 이미지를 180도 회전시켜 두번째칼라배열에 저장하는(S6)단계;
    스캔시의 스캔오류를 보정하기 위하여 기울어진 이미지인 두번째칼라배열을 바르게 회전시켜 첫번째칼라배열에 저장하는 Sheet 보정(S7)단계;
    첫번째칼라배열에서 타이밍마크의 정확한 세로위치를 판단하는 타이밍마크 인식(S8)단계;
    첫번째칼라배열에서 응답마크영역의 칼라를 분석하여 유효한 칼라를 결정하고 평균칼라값을 산출하는(S9)단계;
    첫번째칼라배열에서 균일하지 않은 응답마킹 상태를 기준으로 유효한 칼라와 평균칼라값을 참고로하여 전체적인 응답마크의 배열을 판단하는(S10)단계;
    첫번째칼라배열에서 응답마크의 배열위치에 검정색으로 마킹되어진 농도를 산출하는(S11)단계를 포함하는 것을 특징으로 하는 이미지 프로세싱을 통한 OMR 독취방법.
KR1020040013219A 2004-02-26 2004-02-26 이미지프로세싱을 통한 OMR독취 (Local 또는 원격 처리) KR100468461B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040013219A KR100468461B1 (ko) 2004-02-26 2004-02-26 이미지프로세싱을 통한 OMR독취 (Local 또는 원격 처리)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040013219A KR100468461B1 (ko) 2004-02-26 2004-02-26 이미지프로세싱을 통한 OMR독취 (Local 또는 원격 처리)

Publications (1)

Publication Number Publication Date
KR100468461B1 true KR100468461B1 (ko) 2005-01-31

Family

ID=37224141

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040013219A KR100468461B1 (ko) 2004-02-26 2004-02-26 이미지프로세싱을 통한 OMR독취 (Local 또는 원격 처리)

Country Status (1)

Country Link
KR (1) KR100468461B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100837887B1 (ko) * 2006-06-19 2008-06-13 김택진 이미지처리를 통한 광학마크 표시카드 판독 방법 및 이를위한 광학마크 표시카드
KR101031808B1 (ko) 2011-03-03 2011-04-29 주식회사 경기정보통신 Omr 카드 정답 마크 인식 장치
KR101679800B1 (ko) 2008-08-04 2016-11-25 아기리스 다이아만디스 기기 판독 가능한 폼 구조 및 시스템 및 적어도 하나의 사용자 표시를 해석하는 방법
KR101744510B1 (ko) * 2016-04-05 2017-06-09 오엠알스캔(주) 스캔판독에 있어서 부정행위 방지 방법
KR101780373B1 (ko) * 2016-05-23 2017-09-20 안병찬 Omr 카드 타이밍 마크 판별 시스템 및 omr 카드 타이밍 마크 판별 방법
KR101809053B1 (ko) * 2015-09-25 2018-01-09 오종현 Omr 카드 마킹 이미지 보정 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100837887B1 (ko) * 2006-06-19 2008-06-13 김택진 이미지처리를 통한 광학마크 표시카드 판독 방법 및 이를위한 광학마크 표시카드
KR101679800B1 (ko) 2008-08-04 2016-11-25 아기리스 다이아만디스 기기 판독 가능한 폼 구조 및 시스템 및 적어도 하나의 사용자 표시를 해석하는 방법
KR101031808B1 (ko) 2011-03-03 2011-04-29 주식회사 경기정보통신 Omr 카드 정답 마크 인식 장치
KR101809053B1 (ko) * 2015-09-25 2018-01-09 오종현 Omr 카드 마킹 이미지 보정 방법
KR101744510B1 (ko) * 2016-04-05 2017-06-09 오엠알스캔(주) 스캔판독에 있어서 부정행위 방지 방법
KR101780373B1 (ko) * 2016-05-23 2017-09-20 안병찬 Omr 카드 타이밍 마크 판별 시스템 및 omr 카드 타이밍 마크 판별 방법

Similar Documents

Publication Publication Date Title
CN101908136B (zh) 一种表格识别处理方法及系统
US9509884B2 (en) Skew detection
US5245676A (en) Determination of image skew angle from data including data in compressed form
US6804414B1 (en) Image status detecting apparatus and document image correcting apparatus
CN104751559B (zh) 验钞装置及验钞方法
CN100377167C (zh) 一种用于二维码识别的二维码区域精确定位方法
CN111127339B (zh) 一种文档图像的梯形畸变矫正方法及装置
US4878124A (en) Image inclination detecting method and apparatus
KR102364100B1 (ko) 전자문서 내 테이블 정보 저장 시스템 및 그 방법
CN106778717B (zh) 一种基于图像识别和k近邻的测评表识别方法
US7602971B2 (en) System, method and recording medium for automatically classifying documents
CN102360419A (zh) 计算机扫描阅读管理方法及系统
CN101958989A (zh) 图像处理装置、图像处理系统及图像处理方法
US20070013975A1 (en) Method for automatically determining document position in a scanner window
CN111145124A (zh) 一种图像倾斜的校正方法及装置
CN102750530B (zh) 一种字符识别方法及装置
KR100468461B1 (ko) 이미지프로세싱을 통한 OMR독취 (Local 또는 원격 처리)
CN111915635A (zh) 支持自阅卷的试题解析信息生成方法及系统
CN106709952A (zh) 一种显示屏幕的自动标定方法
US20120177290A1 (en) Automatic table location in documents
CN110263784A (zh) 智能的英语试卷成绩识别录入方法
JPH1173475A (ja) 行方向判定装置、画像傾き検出装置及び画像傾き補正装置
CN112215756A (zh) 扫描纠偏方法、装置、存储介质及计算机设备
CN106324708A (zh) 雨量记录图纸的数字化方法、装置
CN102682308B (zh) 图像处理方法和图像处理设备

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130215

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140128

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150114

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160118

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee