KR102026308B1 - 이미지에서 그림자를 제거하기 위한 방법 - Google Patents

이미지에서 그림자를 제거하기 위한 방법 Download PDF

Info

Publication number
KR102026308B1
KR102026308B1 KR1020180119088A KR20180119088A KR102026308B1 KR 102026308 B1 KR102026308 B1 KR 102026308B1 KR 1020180119088 A KR1020180119088 A KR 1020180119088A KR 20180119088 A KR20180119088 A KR 20180119088A KR 102026308 B1 KR102026308 B1 KR 102026308B1
Authority
KR
South Korea
Prior art keywords
pixel
image
brightness value
content
window
Prior art date
Application number
KR1020180119088A
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 KR1020180119088A priority Critical patent/KR102026308B1/ko
Application granted granted Critical
Publication of KR102026308B1 publication Critical patent/KR102026308B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • G06T5/006
    • G06T5/008
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • G06T5/94Dynamic range modification of images or parts thereof based on local image properties, e.g. for local contrast enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Image Processing (AREA)

Abstract

본 개시는 이미지에서 그림자를 제거하기 위한 방법에 관한 것이다. 이미지에서 그림자를 제거하기 위한 방법은, 이미지를 수신하는 단계, 이미지를 회색조로 변환하는 단계, 이미지 지역 통계에 기초하여 이미지 내의 픽셀에 대해서 콘텐츠 포함 여부를 판정하는 단계, 콘텐츠가 포함된 것으로 판정된 픽셀에 대해 지역 기반 밝기 조정을 수행하는 단계 및 이미지 변화량 기반의 빈 곳 메우기를 수행하는 단계를 포함할 수 있다.

Description

이미지에서 그림자를 제거하기 위한 방법{METHOD FOR REMOVING SHADOWS FROM IMAGES}
본 개시는 이미지에서 그림자를 제거하기 위한 방법에 관한 것으로, 보다 상세하게는, 이미지에서 그림자는 제거하고 콘텐츠는 더욱 선명하게 하여, 이미지의 가독성 및 인식률을 향상시킬 수 있는 그림자 제거 방법에 관한 것이다.
정보통신과 IT 기술의 발달로 인해, 정보화에 대한 인식이 보편화되었다. 특히, 모바일 기기가 카메라 등과 결합되어 개발됨에 따라, 모바일 기술이 급격히 발전하게 되었다. 이에 따라, PC나 전문기기를 사용해야 했던 기능들이 모바일 기기를 통해서 간편히 사용할 수 있게 되었다.
최근에는 스마트폰과 같은 모바일 기기들의 카메라 성능이 좋아지면서, 문서를 스캔할 필요가 있을 때, 기존의 전문적인 스캐너를 사용하지 않고, 간단히 스마트폰으로 사진을 찍고 이를 스캐너의 결과처럼 변환해주는 응용 어플리케이션들이 소개되고 있다. 이렇게 문서를 찍을 경우, 스캐너의 이미징 환경과는 달리, 문서들은 보통 책상이 테이블 위에 놓인 상태로 전문적인 조명 조건이 아닌 평상시 생활 환경의 조명 조건 하에서 촬영되는 것이 일반적이다.
즉, 천장의 실내 조명이나, 테이블 스탠드 조명 환경과 같이 보통 상단에 위치한 조명 하에서 사진을 찍게 되며, 이 경우 문서와 조명 사이에 사진을 찍는 사람이나 기기가 위치하여 문서 위로 그림자가 생기는 경우가 발생하게 된다. 이로 인해, 촬영한 이미지가 그림자를 포함하게 되고, 그림자로 인해 이미지 내의 콘텐츠가 선명하게 표시되지 않아 가독성이 떨어질 수 있다.
본 명세서에서 개시되는 실시예들은, 이미지에서 그림자를 제거하는 과정에서 큰 글자 등의 내부에 빈 공간이 생기는 것을 방지하고, 콘텐츠를 보다 선명하게 표시함으로써 이미지의 가독성과 인식률을 높일 수 있는 그림자 제거 방법을 제공한다.
본 개시의 일 실시예에 따른 이미지에서 그림자를 제거하기 위한 방법은, 이미지를 수신하는 단계, 이미지를 회색조로 변환하는 단계, 이미지 지역 통계에 기초하여 이미지 내의 픽셀에 대해서 콘텐츠 포함 여부를 판정하는 단계, 콘텐츠가 포함된 것으로 판정된 픽셀에 대해 지역 기반 밝기 조정을 수행하는 단계 및 이미지 변화량 기반의 빈 곳 메우기를 수행하는 단계를 포함할 수 있다.
이미지 지역 통계에 기초하여 이미지 내의 픽셀에 대해서 콘텐츠 포함 여부를 판정하는 단계는 픽셀이 중앙에 위치하는 미리 설정된 크기의 윈도우를 설정하는 단계, 영역 제곱 합계 테이블에 기초하여 해당 윈도우 내의 픽셀들의 밝기에 대한 표준편차를 산출하는 단계 및 표준편차가 미리 설정된 임계값 이상이면 해당 픽셀이 콘텐츠를 포함하는 것으로 판정하는 단계를 포함할 수 있다.
표준편차는 아래의 식에 의해 계산된다.
Figure 112018098504021-pat00001
여기서,
Figure 112018098504021-pat00002
는 (x, y) 좌표 지점의 픽셀이 중앙에 위치한 K * K 크기의 윈도우 내의 픽셀들의 밝기에 대한 표준편차를 나타내고,
Figure 112018098504021-pat00003
는 (x, y) 좌표 지점의 픽셀의 밝기 값을 나타내고,
Figure 112018098504021-pat00004
는 윈도우 내의 픽셀들의 밝기에 대한 평균 값을 나타낼 수 있다.
콘텐츠가 포함된 것으로 판정된 픽셀에 대해 지역 기반 밝기 조정을 수행하는 단계는, 픽셀이 중앙에 위치하는 미리 설정된 크기의 윈도우를 설정하는 단계, 윈도우 내의 최대 밝기 값과 최소 밝기 값을 도출하는 단계, 최대 밝기 값과 최소 밝기 값에 기초하여 해당 픽셀의 밝기 값을 조정하는 단계 및 시그모이드 함수를 이용하여 해당 픽셀의 조정된 밝기 값을 추가적으로 조정하는 단계를 포함할 수 있다.
윈도우 내의 최대 밝기 값과 최소 밝기 값을 도출하는 단계는, 윈도우 내의 해당 픽셀의 좌측 및 우측 픽셀들 중 최대 밝기 값 및 최소 밝기 값을 가지는 픽셀을 찾는 단계, 윈도우 내의 최대 밝기 값을 가지를 픽셀의 상측 및 하측 픽셀들의 밝기 값에 기초하여 윈도우 내의 최대 밝기 값을 갱신하는 단계 및 윈도우 내의 최소 밝기 값을 가지는 픽셀의 상측 및 하측 픽셀들의 밝기 값에 기초하여 윈도우 내의 최소 밝기 값을 갱신하는 단계를 포함할 수 있다.
최대 밝기 값과 최소 밝기 값에 기초하여 해당 픽셀의 밝기 값을 조정하는 단계는 아래의 식을 이용하여 해당 픽셀의 밝기를 조정하는 단계를 포함할 수 있다.
Figure 112018098504021-pat00005
여기서,
Figure 112018098504021-pat00006
는 (x, y) 좌표 지점의 픽셀의 밝기 값을 나타내고,
Figure 112018098504021-pat00007
Figure 112018098504021-pat00008
는 각각 윈도우 내의 최대 밝기 값과 최소 밝기 값을 나타내고,
Figure 112018098504021-pat00009
는 해당 픽셀의 조정된 밝기 값을 나타낼 수 있다.
시그모이드 함수를 이용하여 해당 픽셀의 조정된 밝기 값을 추가적으로 조정하는 단계는, 아래의 식을 이용하여 해당 픽셀의 조정된 밝기 값을 추가적으로 조정하는 단계를 포함할 수 있다.
Figure 112018098504021-pat00010
여기서,
Figure 112018098504021-pat00011
는 추가적으로 조정된 밝기 값을 나타내고, L은 출력의 최대값을 나타내고,
Figure 112018098504021-pat00012
는 (x, y) 좌표 지점의 픽셀의 밝기 값을 나타내고, Io는 입력의 중간값을 나타내고, k는 곡선의 기움 정도를 나타낼 수 있다.
이미지 변화량 기반의 빈 곳 메우기는 아래의 수식에 기초하여 수행될 수 있다.
Figure 112018098504021-pat00013
여기서, Ω는 채워야하는 내부를 나타내고,
Figure 112018098504021-pat00014
는 경계면을 나타내고, I*는 콘텐츠가 포함된 것으로 판정된 픽셀의 밝기 값을 나타낼 수 있다.
이미지 변화량 기반의 빈 곳 메우기를 수행하는 단계는, 콘텐츠가 포함되지 않은 것으로 판정된 픽셀 중 이웃 픽셀이 콘텐츠를 포함하는 것으로 판정된 픽셀에 대해, 해당 픽셀의 색상 값을 이웃 픽셀의 색상 값으로 변경하는 단계 및 해당 픽셀이 콘텐츠를 포함하는 것으로 갱신하는 단계를 포함할 수 있다.
이미지 변화량 기반의 빈 곳 메우기를 수행하는 단계는, 콘텐츠가 포함되지 않은 것으로 판정된 픽셀 중 이웃 픽셀이 콘텐츠를 포함하는 것으로 판정된 픽셀이 없을 때까지 반복될 수 있다.
본 개시의 다양한 실시예들에 따르면, 사용자 단말을 통해 수신한 이미지를 개선 처리함으로써, 이미지내 그림자를 제거할 수 있으며, 글자나 그림과 같은 콘텐츠를 포함하는 영역의 인식률을 높일 수 있다. 따라서, 사용자에게 가독성 및 인식률이 높은 이미지를 제공할 수 있다.
본 개시의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 개시의 실시예들은, 이하 설명하는 첨부 도면들을 참조하여 설명될 것이며, 여기서 유사한 참조 번호는 유사한 요소들을 나타내지만, 이에 한정되지는 않는다.
도 1은 본 개시의 일 실시예에 따른 이미지에서 그림자를 제거하는 프로세스를 나타내는 도면이다.
도 2는 본 개시의 일 실시예에 따른 이미지에서 그림자를 제거하기 위한 시스템의 구성을 나타내는 블록도이다.
도 3은 본 개시의 일 실시예에 따른 이미지 내의 콘텐츠 포함 영역을 판정하는 과정을 나타내는 순서도이다.
도 4는 본 개시의 일 실시예에 따른 영역 제곱 합계 테이블에 기초하여 윈도우 내의 픽셀들의 밝기 값에 대한 제곱 값을 산출하는 예를 나타내는 도면이다.
도 5는 본 개시의 일 실시예에 따른 지역 기반 밝기 조정을 수행하는 과정을 나타내는 순서도이다.
도 6은 본 개시의 일 실시예에 따른 시그모이드(sigmoid) 함수의 그래프를 나타낸 도면이다.
도 7은 본 개시의 일 실시예에 따른 이미지 변화량 기반의 빈 곳 메우기를 수행하는 과정을 나타내는 순서도이다.
도 8은 빈 곳 메우기(hole-filling)를 수행하는 과정의 예를 나타내는 도면이다.
도 9는 본 개시의 일 실시예에 따라 이미지에서 그림자를 제거하는 예시를 나타내는 도면이다.
도 10은 본 개시의 일 실시예에 따른 그림자 제거 방법과 종래의 그림자 제거 방법을 수행한 결과를 비교하는 도면이다.
이하, 본 개시의 실시를 위한 구체적인 내용을 첨부된 도면을 참조하여 상세히 설명한다. 다만, 이하의 설명에서는 본 개시의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.
첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응되는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다.
도 1은 본 개시의 일 실시예에 따른 이미지에서 그림자를 제거하는 프로세스를 나타내는 도면이다. 도 1a는 사용자가 카메라 모듈을 탑재한 사용자 단말을 이용하여 촬영한 이미지를 나타내는 도면이다. 이미지는 문자 콘텐츠가 있는 영역과 콘텐츠가 없는 영역을 포함할 수 있다. 이와 같이 촬영된 이미지에는 실내 조명 등에 의한 그림자가 포함될 수 있다. 일 실시예에서, 이런 이미지를 회색조 이미지로 변환한 후에 그림자 제거 프로세스를 진행할 수 있다.
도 1b는 이미지 지역 통계에 기초하여 도 1a의 이미지에서 글자나 그림과 같은 콘텐츠가 포함된 영역과 콘텐츠가 포함되지 않은 영역을 나타내는 도면이다. 도시된 바와 같이, 초록색으로 표시된 부분이 콘텐츠가 있는 것으로 판정된 영역이며, 빨간색으로 표시된 부분이 콘텐츠가 포함되지 않은 것으로 판정된 영역이다. 이 때, 글자의 두께가 일정 이상 두꺼운 경우, 글자 내부 영역 중 일부는 색 변화가 없어 콘텐츠가 포함되지 않은 것으로 오인식 될 수도 있다. 따라서, 도 1b에 도시된 것과 같이, 문자 영역 내의 영역 중 일부는 콘텐츠가 없는 것으로 판정되어 빨간색으로 표시될 수 있다.
도 1c는 콘텐츠가 있는 것으로 판정된 영역을 분리한 후, 지역 기반 이미지 개선 처리를 수행한 것을 나타내는 도면이다. 지역 기반 이미지 개선 처리의 목적은 지역의 밝기 분포에 따라 지역적으로 어두운 색은 최대한 어둡게, 지역적으로 밝은 색은 최대한 밝은 색으로 변환하여 선명도를 높이는데 있다. 일 실시예에서, 콘텐츠가 있는 것으로 판정된 영역에 대해 적응적 밝기 및 대조 조정과 레벨 변환을 수행할 수 있다. 이와 같은 지역 기반 이미지 개선 처리를 통해 이미지를 더욱 선명하게 만드는 것이 가능하다.
상술한 것과 같이, 글자의 두께가 일정 이상 두꺼운 경우, 글자 내부 영역 중 일부는 색 변화가 없어 콘텐츠가 포함되지 않은 것으로 오인식 되어, 글자 내부에 빈 공간이 생길 수 있다. 도 1d는 이런 빈 공간을 채우기 위해, 이미지 변화량 기반(gradient based) 빈 곳 메우기(hole-filling) 처리를 수행한 결과를 나타내는 도면이다. 이러한 과정을 통해 이미지 촬영 시 함께 촬영된 그림자를 제거할 수 있고, 이미지에 포함된 콘텐츠를 더욱 선명하게 만들 수 있다. 이에 따라, 이미지 내 콘텐츠의 가독성과 인식률을 높일 수 있으며, 네모닉TM 등과 같은 흑백 프린터로 인쇄하는 경우에도 시안성이 좋은 인쇄물을 얻을 수 있다.
도 2는 본 개시의 일 실시예에 따른 이미지에서 그림자를 제거하기 위한 시스템(200)의 구성을 나타내는 블록도이다. 도 2에 도시된 바와 같이, 이미지에서 그림자를 제거하기 위한 시스템(200)은 통신부(210), 촬영부(220), 저장부(230) 및 연산처리부(240)를 포함할 수 있다. 연산처리부(240)는 콘텐츠 영역 분리부(242), 이미지 개선 처리부(244) 및 빈 곳 메우기 처리부(246)를 포함할 수 있다. 일 실시예에서, 시스템(200)은 스마트 폰, 태블릿 PC, 노트북, PDA(Personal Digital Assistants), 이동통신 단말기, 이미지 처리 서버 등을 포함할 수 있으며, 이에 한정되지 않고, 연산처리가 가능한 임의의 장치일 수 있다.
시스템(200)은 통신부(210)를 통해 서버 또는 다른 사용자 단말과 등과 같은 외부기기와 통신할 수 있다. 예를 들어, 시스템(200)은 외부기기를 통해 촬영한 이미지나, 외부기기에 저장된 이미지 데이터를 통신부(210)를 통해 수신할 수 있다. 또한, 시스템(200)은 촬영부(220)를 통해 이미지를 촬영할 수 있으며, 촬영된 이미지는 저장부(230)에 저장될 수 있다.
연산처리부(240)는 외부기기로부터 수신된 이미지 또는 촬영부(220)를 통해 촬영된 이미지를 수신하여 이미지에서 그림자를 제거할 수 있다. 일 실시예에서, 연산처리부(240)는 수신한 이미지를 회색조로 변환할 수 있다. 그 후, 콘텐츠 영역 분리부(242)는 이미지 지역 통계에 기초하여 이미지 내의 모든 픽셀에 대해 콘텐츠의 포함 여부를 판정할 수 있고, 이를 통해 이미지 데이터로부터 콘텐츠가 포함된 것으로 판정된 영역만을 분리해 낼 수 있다. 일 실시예에서, 이미지 지역 통계는 영역 제곱 합계 테이블(summed area table)에 기초하여 산출될 수 있다.
콘텐츠가 포함된 것으로 판정된 영역을 분리한 후, 이미지 개선 처리부(244)는 콘텐츠가 포함된 것으로 판정된 픽셀에 대해 지역 기반 이미지 개선 처리를 수행할 수 있다. 일 실시예에서, 콘텐츠가 포함된 것으로 판정된 픽셀에 대해 적응적 밝기 조정이 수행될 수 있다. 예를 들어, 대상 픽셀이 중앙에 위치한 윈도우 내의 최대 밝기 값과 최소 밝기 값에 기초하여 대상 픽셀의 밝기를 조정하고, 시그모이드 함수를 이용하여 조정된 밝기 값을 한번 더 조정할 수 있다.
그리고 나서, 빈 곳 메우기 처리부(246)가 이미지 변화량에 기초하여 빈 곳 메우기를 수행할 수 있다. 일 실시예에서, 포와송(poisson) 이미지 편집 기술을 이용하여 빈 곳 메우기를 수행할 수 있다. 다른 실시예에서, 콘텐츠가 포함되지 않은 것으로 판정된 픽셀 중 이웃 픽셀이 콘텐츠를 포함하는 것으로 판정된 픽셀에 대해, 해당 픽셀의 색상 값(RGB 값 등)을 이웃 픽셀의 색상 값으로 변경하고, 해당 픽셀이 콘텐츠를 포함하는 것으로 갱신함으로써 이미지 변화량 기반 빈 곳 메우기를 수행할 수 있다. 이와 같은 빈 곳 메우기는 콘텐츠가 포함되지 않은 것으로 판정된 픽셀 중 이웃 픽셀이 콘텐츠를 포함하는 것으로 판정된 픽셀이 없을 때까지 반복될 수 있다.
그림자가 제거된 이미지는 저장부(230)에 저장될 수 있으며, 통신부(210)를 통해 외부기기(다른 사용자 기기 또는 프린터 등)로 전송될 수 있다. 이상에서 설명한 것과 프로세스에 따라, 시스템(200)은 이미지에서 그림자를 제거하여 콘텐츠의 가독성과 인식률을 향상시킬 수 있다. 이하에서는, 콘텐츠 영역 분리부(242), 이미지 개선 처리부(244) 및 빈 곳 메우기 처리부(246)의 구체적인 연산 처리를 도 3 내지 도 8을 참조하여 설명한다.
도 3은 본 개시의 일 실시예에 따른 이미지 내의 콘텐츠 포함 영역을 판정하는 과정을 나타내는 순서도이다. 이 과정은 콘텐츠 영역 분리부에 의해 수행될 수 있다. 일 실시예에서, 이미지에서 글자나 그림과 같은 콘텐츠가 포함된 영역을 판정하기 위해 이미지 지역 통계에 기초하여 이미지 내의 모든 픽셀에 대해 콘텐츠의 포함 여부를 판정할 수 있다.
이미지 내의 콘텐츠 포함 영역을 판정하는 과정은, 대상 픽셀에 대해, 픽셀이 중앙에 위치하도록 미리 설정된 크기의 윈도우를 설정하고, 설정된 윈도우 내의 밝기 값에 대한 표준편차를 산출하여, 표준편차가 미리 설정된 임계값 이상인지 여부를 판정하는 것(310)으로 개시될 수 있다. K * K의 사이즈를 가지는 윈도우 내에서 밝기 값의 표준편차는 아래의 식에 의해 계산될 수 있다.
Figure 112018098504021-pat00015
여기서,
Figure 112018098504021-pat00016
는 (x, y) 좌표 지점의 픽셀이 중앙에 위치한 K * K 크기의 윈도우 내의 픽셀들의 밝기 값에 대한 표준편차를 나타내고,
Figure 112018098504021-pat00017
는 (x, y) 좌표 지점의 픽셀의 밝기 값을 나타내고,
Figure 112018098504021-pat00018
는 (x, y) 좌표 지점의 픽셀이 중앙에 위치한 K * K 크기의 윈도우 내의 픽셀들의 밝기에 대한 평균 값을 나타내고,
Figure 112018098504021-pat00019
,
Figure 112018098504021-pat00020
이다. 윈도우 내의 평균 밝기(평균 지역 밝기)는 이미지에 K * K 크기의 윈도우 사이즈를 가지는 평균필터(mean filter)를 적용한 후 각 점에서의 밝기를 얻는 것으로 계산될 수 있다. 일 실시예에서, K=60의 윈도우가 사용될 수 있으며, 미리 설정된 임계값은 0.05일 수 있다.
상술한 식을 이용하여 이미지상의 모든 픽셀 N개에 대해 표준편차를 계산하는 경우, 그 계산 복잡도가
Figure 112018098504021-pat00021
이 되어, 계산 및 처리속도가 매우 느릴 수 있다. 따라서, 일 실시예에서는, 이러한 계산 및 처리 속도를 향상시키기 위해 영역 제곱 합계 테이블(Summed Area Table)에 기반을 둔 계산 방법을 이용할 수 있다. 이 경우, 위의 계산식 대신 아래의 식을 이용하여 표준편차를 계산할 수 있다.
Figure 112018098504021-pat00022
위의 계산식을 사용하는 경우, 표준편차는 윈도우 내의 각 픽셀에서의 밝기 값의 제곱의 평균과 윈도우 내의 평균 밝기 값의 제곱의 차로 계산될 수 있으며, 윈도우 내의 각 픽셀에서의 밝기 값의 제곱의 합계는 각 픽셀까지의 밝기 값의 제곱 값을 저장하는 영역 제곱 합계 테이블(Summed Area table)을 통해 중복 연산을 최소화하여 계산의 효율성을 높일 수 있다. 영역 제곱 합계 테이블을 이용하여 윈도우 내의 각 픽셀에서의 밝기의 제곱의 평균을 계산하는 예시는 아래에서 도 4를 참조하여 설명한다.
윈도우 내의 밝기 값에 대한 표준편차가 미리 설정된 임계값 이상인 경우, 해당 픽셀이 글자나 그림과 같은 콘텐츠를 포함하는 것으로 판정(320)할 수 있다. 반면, 표준편차가 임계값 미만인 경우, 해당 픽셀이 콘텐츠를 포함하지 않는 것으로 판정할 수 있다(322). 예를 들어, 미리 설정된 임계값은 0.05일 수 있다.
이미지 상의 모든 픽셀에 대해 콘텐츠 포함 여부를 판정하였는지를 확인하고(330), 완료되었다면 콘텐츠 포함 여부를 판정하는 과정이 종료될 수 있다. 그렇지 않은 경우, 다음 픽셀로 이동(340)하여 동일한 과정을 반복 수행할 수 있다. 상술한 흐름에 따라 이미지 내의 각 픽셀이 콘텐츠를 포함하는지 여부를 판정하고 그 결과를 저장할 수 있으며, 이에 기초하여 이미지로부터 콘텐츠가 포함된 것으로 판정된 영역을 분리해 낼 수 있다.
도 4는 본 개시의 일 실시예에 따른 영역 제곱 합계 테이블에 기초하여 윈도우 내의 픽셀들의 밝기 값에 대한 제곱 값을 산출하는 예를 나타내는 도면이다. 상술한 바와 같이, 윈도우 내의 픽셀들의 밝기는 영역 제곱 합계 테이블을 이용하여 빠르고 효율적으로 산출할 수 있다. 도 4a에 도시된 바와 같이 영역 제곱 합계 테이블은 아래의 식을 이용하여 (0,0) 지점에서부터 각 픽셀의 좌표(x,y)까지의 사각형 영역 내의 모든 픽셀에 대한 밝기 값의 제곱 값의 합 S(x, y)를 영역 제곱 합계 테이블에 저장되도록 구성될 수 있다.
Figure 112018098504021-pat00023
이러한, 영역 제곱 합계 테이블을 이용하면, 윈도우 크기 K와 상관없이 아래의 식과 같이 4번의 산술 연산만으로 임의의 영역의 합계를 계산하는 것이 가능하다. 이 경우, 모든 픽셀 N에 대해 표준편차를 구하는 계산 복잡도가
Figure 112018098504021-pat00024
이 되어 효율적인 계산이 가능하다.
Figure 112018098504021-pat00025
Figure 112018098504021-pat00026
예를 들어, 도 4b에 도시된 빗금친 윈도우 내의 픽셀들의 밝기 값에 대한 제곱 값인 SI를 산출하기 위해, S4에서 S2 및 S3를 뺀 후, S1을 더하여 그 값을 계산할 수 있다. 이와 같이, 윈도우가 어떠한 위치에 있는 경우라도, 영역 제곱 합계 테이블에 저장된 4개의 값을 이용하여, 윈도우 내의 픽셀들의 밝기 값에 대한 제곱 값을 산출할 수 있기 때문에 효율적인 계산이 가능하다.
도 5는 본 개시의 일 실시예에 따른 지역 기반 밝기 조정을 수행하는 과정을 나타내는 순서도이다. 도시된 지역 기반 밝기 조정은 이미지 개선 처리부에 의해 수행될 수 있다. 지역 기반 밝기 조정은 대상 픽셀이 콘텐츠를 포함하는 픽셀인지 여부를 판정하는 것으로 개시될 수 있다(510).
픽셀이 콘텐츠를 포함하지 않는 것으로 판정되는 경우, 이미지 내의 모든 픽셀에 대해 처리가 완료되었는지를 확인하는 단계(540)로 이동할 수 있다. 반면, 픽셀이 콘텐츠를 포함하는 것으로 판정되는 경우, 해당 픽셀이 중앙에 위치하도록 미리 설정된 크기의 윈도우를 설정하고, 해당 윈도우 내의 최대 밝기 값과 최소 밝기 값에 기초하여 해당 픽셀의 밝기 값을 조정할 수 있다(520). K * K의 사이즈를 가지는 윈도우 내에서 픽셀의 밝기 값은 아래의 식에 의해 조정될 수 있다.
Figure 112018098504021-pat00027
여기서,
Figure 112018098504021-pat00028
는 (x, y) 좌표 지점의 픽셀의 밝기 값을 나타내며,
Figure 112018098504021-pat00029
Figure 112018098504021-pat00030
는 각각 윈도우 내의 최대 밝기 값과 최소 밝기 값을 나타내고,
Figure 112018098504021-pat00031
는 해당 픽셀의 조정된 밝기 값을 나타낸다.
모든 픽셀 N개에 대해 윈도우 내의 최대 및 최소 밝기 값을 계산하는 경우, 계산 복잡도가
Figure 112018098504021-pat00032
이 되어, 계산 및 처리 속도가 매우 느릴 수 있다. 따라서, 일 실시예에서는, 이러한 계산 및 처리 속도를 향상시키기 위해 각 점에서 가로로 K 범위 내의 점에 대해 최대 밝기 값과 최소 밝기 값을 구하여 각 점에 저장하고, 이 후 다시 각 점에서 저장된 최대 최소의 값을 세로로 K 범위 내에서의 최대 밝기 값과 최소 밝기 값으로 갱신하는 방식을 사용할 수 있다. 이와 같은 두 단계(two-pass) 접근법을 통해 계산 복잡도를
Figure 112018098504021-pat00033
로 낮출 수 있다.
구체적으로, 윈도우 내의 대상 픽셀의 죄측 및 우측 픽셀들 중 최대 밝기 및 최소 밝기 값을 가지는 픽셀을 찾는 것으로 개시될 수 있다. 그리고 나서, 최대 밝기 값을 가지는 픽셀을 기준으로 윈도우 이내의 상측 및 하측 방향의 픽셀들의 밝기 값에 기초하여 윈도우 내 최대 밝기 값을 갱신할 수 있다. 최소 밝기 값을 가지는 픽셀 또한, 해당 픽셀을 기준으로 윈도우 이내의 상측 및 하측 방향의 픽셀들의 밝기 값에 기초하여 윈도우 내 최소 밝기 값을 갱신할 수 있다. 따라서, 상술한 두 단계의 과정을 통해 윈도우 내의 최대 밝기 값과 최소 밝기 값을 빠르게 도출할 수 있다.
일 실시예에서, 콘텐츠를 포함하는 것으로 판정된 픽셀의 선명도를 더욱 향상시키기 위해 시그모이드(sigmoid) 함수를 이용하여 픽셀의 밝기 값을 추가적으로 조정할 수 있다(530). 시그모이드 함수의 경우, 밝은 색과 어두운 색을 더욱 분리하는 효과를 줄 수 있어 단순한 이진화의 대안으로 사용할 수 있다. 시그모이드 함수는 아래에서 도 6을 참조하여 설명한다.
픽셀의 조정된 밝기 값이 추가적으로 조정되고 난 후에, 이미지 내의 모든 픽셀에 대해 처리가 완료되었는지를 확인하는 단계(540)로 이동할 수 있다. 모든 픽셀에 대해 처리가 완료된 것으로 판정된 경우, 지역 기반 밝기 조정을 수행하는 과정이 종료될 수 있다. 그렇지 않은 경우, 다음 픽셀로 이동하여(550) 상술한 과정이 반복 수행될 수 있다. 이와 같은 흐름에 따라 콘텐츠를 포함하는 픽셀에 대해 적응적 밝기 조정을 수행함으로써, 지역적으로 어두운 색은 최대한 어둡게, 지역적으로 밝은 색은 최대한 밝은 색으로 밝기를 조정하여 이미지의 선명도를 높일 수 있다.
도 6은 본 개시의 일 실시예에 따른 시그모이드(sigmoid) 함수의 그래프를 나타낸 도면이다. 상술한 바와 같이, 시그모이드 함수를 이용하여 픽셀의 밝기 값을 한번 더 조정하여 이미지의 선명도를 더욱 높일 수 있다. 도시된 바와 같이, 시그모이드 함수는 밝은 색과 어두운 색을 더욱 분리하는 효과를 줄 수 있다. 일 실시예에서, 픽셀의 밝기 값을 추가적으로 조정하는 과정은 시그모이드 함수가 매개변수로 구성된 아래의 식을 이용하여 수행될 수 있다.
Figure 112018098504021-pat00034
여기서,
Figure 112018098504021-pat00035
는 (x, y) 좌표 지점의 픽셀의 밝기 값을 나타내고, L은 출력의 최대값을 나타내고,
Figure 112018098504021-pat00036
는 추가적으로 조정된 밝기 값을 나타내고, 나타낸다. Io는 입력의 중간값을 나타내고, k는 곡선의 기움 정도를 나타낸다. 일 실시예에서, L=1, Io=0.5, k=15가 사용될 수 있다. 이러한 변환은 결과적으로 감마 조정과 유사한 효과를 가져온다.
도 7은 본 개시의 일 실시예에 따른 이미지 변화량 기반의 빈 곳 메우기를 수행하는 과정을 나타내는 순서도이다. 이 과정은 빈 곳 메우기 처리부에 의해 수행될 수 있다. 변화량 기반의 빈 곳 메우기는 대상 픽셀이 콘텐츠를 포함하는 픽셀인지 여부를 판정하는 것으로 개시될 수 있다(710). 픽셀이 콘텐츠를 포함하는 것으로 판정된 경우, 다음 픽셀로 이동할 수 있다(720).
반면, 픽셀이 콘텐츠를 포함하지 않은 것으로 판정된 경우, 대상 픽셀의 이웃 픽셀(예를 들어, 대상 픽셀의 상측 픽셀, 하측 픽셀, 좌측 픽셀, 우측 픽셀)이 콘텐츠를 포함하는 픽셀인지 여부를 판정하는 단계(730)를 수행할 수 있다. 여기서, 대상 픽셀의 이웃 픽셀이 콘텐츠를 포함하지 않는 것으로 판정되면, 다음 픽셀로 이동할 수 있다(720). 반면, 대상 픽셀의 이웃 픽셀이 콘텐츠를 포함하는 것으로 판정되면, 해당 픽셀의 색상 값(RGB 값 등)을 이웃 픽셀의 색상 값으로 변경하여 저장할 수 있다(740). 그 후, 해당 픽셀이 콘텐츠를 포함하는 것으로 갱신할 수 있다(750).
그 다음, 콘텐츠가 포함되지 않는 것으로 판정된 픽셀들 중 이웃 픽셀이 콘텐츠를 포함하는 것으로 판정된 픽셀이 존재하는지 여부를 판정하는 단계(760)를 수행할 수 있다. 여기서, 콘텐츠가 포함되지 않는 것으로 판정된 픽셀들 중 이웃 픽셀이 콘텐츠를 포함하는 것으로 판정된 픽셀이 존재하는 경우, 다음 픽셀로 이동할 수 있다(720). 반면, 콘텐츠가 포함되지 않는 것으로 판정된 픽셀들 중 이웃 픽셀이 콘텐츠를 포함하는 것으로 판정된 픽셀이 존재하지 않는 경우, 빈 곳 메우기 프로세스가 종료될 수 있다. 즉, 콘텐츠를 포함하지 않는 것으로 판정된 픽셀 중 이웃 픽셀이 콘텐츠를 포함하는 것으로 판정된 픽셀의 색상 값을 이웃 픽셀 색상 값으로 변경하여 저장하는 프로세스를 콘텐츠를 포함하지 않는 것으로 판정된 픽셀 중 이웃 픽셀이 콘텐츠를 포함하는 것으로 판정된 픽셀이 없을 때까지 반복한다. 변화량 기반의 빈 곳 메우기를 수행하는 예시는 아래에서 도 8을 참조하여 설명한다.
다른 실시예에서, 이미지 변화량 기반의 빈 곳 메우기는 아래의 수식에 기초하여 수행될 수 있다.
Figure 112018098504021-pat00037
여기서, Ω는 채워야 하는 내부를 나타내고,
Figure 112018098504021-pat00038
는 경계면을 나타내고, I*는 콘텐츠가 포함된 것으로 판정된 픽셀의 밝기 값을 나타낸다. 즉, 지역 기반 이미지 개선을 통해 얻어진 콘텐츠 영역의 색들을 경계값 조건으로 고정하고 밝기 변화량이 최소가 되도록 내부의 색을 결정하는 변화량 기반 빈 곳 메우기 기법을 사용할 수 있다.
Figure 112018098504021-pat00039
도 8은 빈 곳 메우기(hole-filling)를 수행하는 과정의 예를 나타내는 도면이다. 도 8a에 도시된 원본 이미지에 대하여, 이미지를 회색조 이미지로 변환하고, 도 8b에 도시된 것과 같이, 이미지 지역 통계에 기초하여 각 픽셀별로 콘텐츠 포함 여부를 판정할 수 있다. 콘텐츠를 포함하지 않는 것으로 판정된 영역은 빨간색으로 표시된 영역이고, 빨간색으로 표시된 영역을 제외한 나머지 영역이 콘텐츠를 포함하는 것으로 판정된 영역이다. 이미지 지역 통계에 기초하여 콘텐츠 포함 여부를 판정함으로써, 문자 주위의 배경 픽셀들(문자 주변의 흰색으로 표시된 영역)은 콘텐츠가 포함되어 있지 않음에도, 콘텐츠가 포함된 것으로 판정될 수 있다. 반면, 글자의 두께가 일정 이상 두꺼운 경우(글자의 두께가 윈도우의 크기와 비슷한 경우), 글자 내부 영역 중 일부(문자 내 빨간색으로 표시된 영역)는 색 변화가 없어 콘텐츠가 포함되지 않은 것으로 오인식 될 수도 있다.
상술한 바와 같이, 콘텐츠가 포함된 것으로 판정된 영역에 대해 이미지 개선 처리를 수행한 후에, 문자 내 빈 공간은 이미지 변화량 기반의 빈 곳 메우기를 수행하여 복원할 수 있다. 예를 들어, 콘텐츠를 포함하지 않는 것으로 판정된 픽셀 중 이웃 픽셀이 콘텐츠를 포함하는 것으로 판정된 픽셀의 색상 값을 이웃 픽셀 색상 값으로 변경하여 저장하는 프로세스를 콘텐츠를 포함하지 않는 것으로 판정된 픽셀 중 이웃 픽셀이 콘텐츠를 포함하는 것으로 판정된 픽셀이 없을 때까지 반복할 수 있다. 그 결과, 문자 내부의 빈 공간이 채워져, 도 8c에 도시된 것과 같이 그림자 제거 처리가 정상적으로 완료될 수 있다.
도 8d는 콘텐츠의 내부가 색 변화가 없어 콘텐츠가 포함되지 않은 것으로 오인식된 예시를 나타내는 도면이다. 여기서, 파란색으로 표시된 픽셀은 콘텐츠를 포함하지 않는 것으로 판정된 픽셀들 중 이웃 픽셀이 콘텐츠를 포함하는 것으로 판정된 픽셀을 나타낸다. 도 8e에 도시된 것과 같이 도 8d에서 파란색으로 표시된 픽셀들의 색상 값은 콘텐츠가 포함된 것으로 판정된 이웃 픽셀의 색상 값으로 변경되어 저장될 수 있다. 이 경우, 해당 픽셀은 콘텐츠를 포함하는 픽셀로 갱신될 수 있다.
도 8e에 도시된 것과 같이, 빈 곳 메우기 처리를 수행한 후, 콘텐츠를 포함하지 않는 것으로 판정된 픽셀들 중 이웃 픽셀이 콘텐츠를 포함하는 판정된 픽셀이 있으므로(초록색으로 표시된 픽셀), 해당 픽셀의 색상 값도 이웃 픽셀의 색상 값으로 변경되어 저장될 수 있다. 이와 같은 빈 곳 메우기 처리는 콘텐츠를 포함하지 않는 것으로 판정된 픽셀 중 이웃 픽셀이 콘텐츠를 포함하는 것으로 판정된 픽셀이 없을 때까지 수행될 수 있다. 그 결과, 도 8f에 도시된 것과 같이, 빈 곳 메우기 처리를 통해 콘텐츠 내부의 빈 공간이 채워질 수 있다.
도 9는 본 개시의 일 실시예에 따라 이미지에서 그림자를 제거하는 예시를 나타내는 도면이다. 도 9a는 사용자가 카메라 모듈을 탑재한 사용자 단말 등을 이용하여 촬영한 이미지의 예를 나타내는 도면이다. 도시된 바와 같이, 촬영된 이미지는 학습 콘텐츠를 포함하며, 실내 조명에 따른 그림자가 포함될 수 있다. 일 실시예에서, 이미지를 회색조 이미지로 변환한 후에 그림자 제거 프로세스를 수행할 수 있다.
도 9b는 이미지 지역 통계에 기초하여 도 9a의 이미지에서 글자나 그림과 같은 콘텐츠가 포함된 영역을 분리한 것을 나타내는 도면이다. 여기서, 빨간색으로 표시된 부분은 콘텐츠가 포함되지 않은 것으로 판정된 영역을 나타내며, 그 외의 부분은 콘텐츠가 포함된 것으로 판정된 영역을 나타낸다. 이미지 지역 통계에 기초하여 콘텐츠 포함 여부를 판정함으로써, 학습 콘텐츠 주위의 배경 픽셀들(콘텐츠 주변의 빨간색으로 표시되지 않은 영역)은 콘텐츠가 포함되어 있지 않음에도, 콘텐츠가 포함된 것으로 판정될 수 있다. 따라서, 콘텐츠 부분과 그 주변의 배경 부분도 콘텐츠가 포함된 영역으로 판정하고 분리할 수 있다.
도 9c는 콘텐츠가 포함된 것으로 판정된 영역을 분리한 후, 지역 기반 이미지 개선 처리를 수행한 것을 나타내는 도면이다. 지역의 밝기 분포에 따라 지역적으로 어두운 색은 최대한 어둡게, 지역적으로 밝은 색은 최대한 밝게 변환함으로써, 도시된 바와 같이, 콘텐츠 영역의 선명도가 높아진 것을 확인할 수 있다.
도 9d는 이미지 변화량 기반(gradient based)의 빈 곳 메우기(hole-filling) 처리를 수행한 후에 이미지에서 그림자가 제거된 최종 이미지를 나타내는 도면이다. 이러한 과정을 통해 이미지 내의 그림자를 제거하고, 그림과 글자 등의 콘텐츠를 배경과 확실히 대비되도록 하여, 이미지에 포함된 콘텐츠의 가독성과 인식률을 높일 수 있다.
도 10은 본 개시의 일 실시예에 따른 그림자 제거 방법과 종래의 그림자 제거 방법을 수행한 결과를 비교하는 도면이다. 도 10a는 7개의 원본 이미지를 나타내며, 도 10b는 원본 이미지에 대해 다중 스케일의 이미지 피라미드(multi-scale image pyramid) 방법을 수행한 결과를 나타내는 도면이다. 도 10c는 원본 이미지에 대해 지역기반 적응 경계치(adaptive thresholding) 방법을 수행한 결과를 나타내는 도면이고, 도 10d는 원본 이미지에 대해 본 개시의 일 실시예에 따른 그림자 제거 방법을 수행한 결과를 나타내는 도면이다.
도 10a의 첫 번째 이미지나 두 번째 이미지와 같이, 이미지에 포함된 그림자가 진하지 않은 경우, 3가지 방법 모두 효과적으로 그림자를 제거했음을 확인할 수 있다. 한편, 도 10a의 세 번째 이미지와 같이, 이미지에 포함된 그림자가 비교적 진한 경우, 다중 스케일의 이미지 피라미드 방법의 경우, 그림자를 효과적으로 제거하지 못하여 이미지 내 콘텐츠의 선명도가 떨어져 가독성이 안 좋아진 것을 확인할 수 있다. 반면, 본 개시의 일 실시예에 따른 그림자 제거 방법의 경우, 그림자가 효과적으로 제거되고, 콘텐츠가 선명히 표시되는 것을 확인할 수 있다.
도 10a의 네번째, 다섯 번째 및 여섯 번째 이미지는 두꺼운 글자나 그림에 대해 각각의 방법들이 얼마나 효과적으로 수행되는 지를 확인하기 위한 예제이다. 네번째 이미지 내의 "STARBUCKS"와 같이, 굵은 글자를 포함하는 이미지에 대해, 다중 스케일의 이미지 피라미드(multi-scale image pyramid) 방법을 수행하는 경우, 도시된 것과 같이 글자의 선명도가 떨어질 수 있으며, 적응 경계치 방법을 수행하는 경우, 도시된 것처럼 글자 내부에 빈 곳이 발생할 수 있다. 도 10a의 다섯 번째 및 여섯 번째 이미지와 같이, 이미지에 포함된 그림이 커지거나 색 변화량이 없는 경우, 이러한 문제가 더욱더 두드러지게 나타나는 것을 확인할 수 있다. 반면, 본 개시의 일 실시예에 따른 그림자 제거 방법의 경우, 그림자가 효과적으로 제거되고, 콘텐츠의 내부에 빈 공간이 생기지 않으면서, 선명히 표시되는 것을 확인할 수 있다.
마지막 이미지와 같이, 반전된 이미지에 대해 그림자 제거를 수행한 결과, 종래 기술들에 비해 본 개시의 그림자 제거 방법이 효과적으로 수행되어 콘텐츠 부분이 선명하게 표시되는 것을 확인할 수 있다. 이러한 결과들을 통해 본 개시의 그림자 제거 방법은 수신한 이미지의 유형에 상관없이 가독성과 인식률이 높은 결과를 도출해내는 것을 확인할 수 있다.
상술한 그림자를 제거하기 위한 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수도 있다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본원에 기술된 기법들은 다양한 수단에 의해 구현될 수도 있다. 예를 들어, 이러한 기법들은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수도 있다. 본원의 개시와 연계하여 설명된 다양한 예시적인 논리적 블록들, 모듈들, 회로들, 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자의 조합들로 구현될 수도 있음을 당업자들은 더 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호교환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 그들의 기능성의 관점에서 일반적으로 위에서 설명되었다. 그러한 기능이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는 지의 여부는, 특정 애플리케이션 및 전체 시스템에 부과되는 설계 제약들에 따라 달라진다. 당업자들은 각각의 특정 애플리케이션을 위해 다양한 방식들로 설명된 기능을 구현할 수도 있으나, 그러한 구현 결정들은 본 개시의 범위로부터 벗어나게 하는 것으로 해석되어서는 안된다.
하드웨어 구현에서, 기법들을 수행하는 데 이용되는 프로세싱 유닛들은, 하나 이상의 ASIC들, DSP들, 디지털 신호 프로세싱 디바이스들 (digital signal processing devices; DSPD들), 프로그램가능 논리 디바이스들 (programmable logic devices; PLD들), 필드 프로그램가능 게이트 어레이들 (field programmable gate arrays; FPGA들), 프로세서들, 제어기들, 마이크로제어기들, 마이크로프로세서들, 전자 디바이스들, 본원에 설명된 기능들을 수행하도록 설계된 다른 전자 유닛들, 컴퓨터, 또는 이들의 조합 내에서 구현될 수도 있다.
따라서, 본원의 개시와 연계하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 범용 프로세서, DSP, ASIC, FPGA나 다른 프로그램 가능 논리 디바이스, 이산 게이트나 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에 설명된 기능들을 수행하도록 설계된 것들의 임의의 조합으로 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안에서, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예를 들면, DSP와 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성의 조합으로서 구현될 수도 있다.
펌웨어 및/또는 소프트웨어 구현에 있어서, 기법들은 랜덤 액세스 메모리 (random access memory; RAM), 판독 전용 메모리 (read-only memory; ROM), 불휘발성 RAM (non-volatile random access memory; NVRAM), PROM (programmable read-only memory), EPROM (erasable programmable read-only memory), EEPROM (electrically erasable PROM), 플래시 메모리, 컴팩트 디스크 (compact disc; CD), 자기 또는 광학 데이터 스토리지 디바이스 등과 같은 컴퓨터 판독가능 매체 상에 저장된 명령들로서 구현될 수도 있다. 명령들은 하나 이상의 프로세서들에 의해 실행가능할 수도 있고, 프로세서(들)로 하여금 본원에 설명된 기능의 특정 양태들을 수행하게 할 수도 있다.
소프트웨어로 구현되면, 상기 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독 가능한 매체 상에 저장되거나 또는 컴퓨터 판독 가능한 매체를 통해 전송될 수도 있다. 컴퓨터 판독가능 매체들은 한 장소에서 다른 장소로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하여 컴퓨터 저장 매체들 및 통신 매체들 양자를 포함한다. 저장 매체들은 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체들일 수도 있다. 비제한적인 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스들, 또는 소망의 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 이송 또는 저장하기 위해 사용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체로 적절히 칭해진다.
예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 전송되면, 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다. 본원에서 사용된 디스크 (disk) 와 디스크 (disc)는, CD, 레이저 디스크, 광 디스크, DVD (digital versatile disc), 플로피디스크, 및 블루레이 디스크를 포함하며, 여기서 디스크들 (disks) 은 보통 자기적으로 데이터를 재생하고, 반면 디스크들 (discs) 은 레이저를 이용하여 광학적으로 데이터를 재생한다. 위의 조합들도 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 이동식 디스크, CD-ROM, 또는 공지된 임의의 다른 형태의 저장 매체 내에 상주할 수도 있다. 예시적인 저장 매체는, 프로세가 저장 매체로부터 정보를 판독하거나 저장 매체에 정보를 기록할 수 있도록, 프로세서에 커플링될 수 있다. 대안으로, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서와 저장 매체는 ASIC 내에 존재할 수도 있다. ASIC은 유저 단말 내에 존재할 수도 있다. 대안으로, 프로세서와 저장 매체는 유저 단말에서 개별 컴포넌트들로서 존재할 수도 있다.
본 개시의 앞선 설명은 당업자들이 본 개시를 행하거나 이용하는 것을 가능하게 하기 위해 제공된다. 본 개시의 다양한 수정예들이 당업자들에게 쉽게 자명할 것이고, 본원에 정의된 일반적인 원리들은 본 개시의 취지 또는 범위를 벗어나지 않으면서 다양한 변형예들에 적용될 수도 있다. 따라서, 본 개시는 본원에 설명된 예들에 제한되도록 의도된 것이 아니고, 본원에 개시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위가 부여되도록 의도된다.
비록 예시적인 구현예들이 하나 이상의 독립형 컴퓨터 시스템의 맥락에서 현재 개시된 주제의 양태들을 활용하는 것을 언급할 수도 있으나, 본 주제는 그렇게 제한되지 않고, 오히려 네트워크나 분산 컴퓨팅 환경과 같은 임의의 컴퓨팅 환경과 연계하여 구현될 수도 있다. 또 나아가, 현재 개시된 주제의 양상들은 복수의 프로세싱 칩들이나 디바이스들에서 또는 그들에 걸쳐 구현될 수도 있고, 스토리지는 복수의 디바이스들에 걸쳐 유사하게 영향을 받게 될 수도 있다. 이러한 디바이스들은 PC들, 네트워크 서버들, 및 핸드헬드 디바이스들을 포함할 수도 있다.
비록 본 주제가 구조적 특징들 및/또는 방법론적 작용들에 특정한 언어로 설명되었으나, 첨부된 청구항들에서 정의된 주제가 위에서 설명된 특정 특징들 또는 작용들로 반드시 제한되는 것은 아님이 이해될 것이다. 오히려, 위에서 설명된 특정 특징들 및 작용들은 청구항들을 구현하는 예시적인 형태로서 설명된다.
이 명세서에서 언급된 방법은 특정 실시예들을 통하여 설명되었지만, 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀 질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 명세서에서는 본 개시가 일부 실시예들과 관련하여 설명되었지만, 본 발명이 속하는 기술분야의 통상의 기술자가 이해할 수 있는 본 개시의 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다. 또한, 그러한 변형 및 변경은 본 명세서에 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.
210: 통신부
220: 촬영부
230: 저장부
240: 연산처리부
242: 콘텐츠 영역 분리부
244: 이미지 개선 처리부
246: 빈 곳 메우기 처리부

Claims (10)

  1. 이미지에서 그림자를 제거하기 위해 프로세서에 의해 수행되는 방법으로서,
    이미지를 수신하는 단계;
    상기 이미지를 회색조로 변환하는 단계;
    이미지 지역 통계에 기초하여 상기 이미지 내의 픽셀에 대해서 콘텐츠 포함 여부를 판정하는 단계;
    콘텐츠가 포함된 것으로 판정된 픽셀에 대해 지역 기반 밝기 조정을 수행하는 단계; 및
    콘텐츠가 포함되지 않은 것으로 판정된 픽셀 중 적어도 하나에 대해 이미지 변화량 기반의 빈 곳 메우기를 수행하는 단계
    를 포함하는, 이미지에서 그림자를 제거하기 위해 프로세서에 의해 수행되는 방법.
  2. 제1항에 있어서,
    이미지 지역 통계에 기초하여 상기 이미지 내의 픽셀에 대해서 콘텐츠 포함 여부를 판정하는 단계는,
    픽셀이 중앙에 위치하는 미리 설정된 크기의 윈도우를 설정하는 단계;
    영역 제곱 합계 테이블에 기초하여 해당 윈도우 내의 픽셀들의 밝기에 대한 표준편차를 산출하는 단계; 및
    상기 표준편차가 미리 설정된 임계값 이상이면 해당 픽셀이 콘텐츠를 포함하는 것으로 판정하는 단계
    를 포함하는, 이미지에서 그림자를 제거하기 위해 프로세서에 의해 수행되는 방법.
  3. 제2항에 있어서,
    상기 표준편차는 아래의 식에 의해 계산되고,
    Figure 112019038238424-pat00040

    여기서,
    Figure 112019038238424-pat00041
    는 (x, y) 좌표 지점의 픽셀이 중앙에 위치한 K * K 크기의 윈도우 내의 픽셀들의 밝기에 대한 표준편차를 나타내고,
    Figure 112019038238424-pat00042
    는 (x, y) 좌표 지점의 픽셀의 밝기 값을 나타내고,
    Figure 112019038238424-pat00043
    는 상기 윈도우 내의 픽셀들의 밝기에 대한 평균 값을 나타내는, 이미지에서 그림자를 제거하기 위해 프로세서에 의해 수행되는 방법.
  4. 제1항에 있어서,
    콘텐츠가 포함된 것으로 판정된 픽셀에 대해 지역 기반 밝기 조정을 수행하는 단계는,
    픽셀이 중앙에 위치하는 미리 설정된 크기의 윈도우를 설정하는 단계;
    상기 윈도우 내의 최대 밝기 값과 최소 밝기 값을 도출하는 단계;
    상기 최대 밝기 값과 상기 최소 밝기 값에 기초하여 해당 픽셀의 밝기 값을 조정하는 단계; 및
    시그모이드 함수를 이용하여 해당 픽셀의 조정된 밝기 값을 추가적으로 조정하는 단계;
    를 포함하는, 이미지에서 그림자를 제거하기 위해 프로세서에 의해 수행되는 방법.
  5. 제4항에 있어서,
    상기 윈도우 내의 최대 밝기 값과 최소 밝기 값을 도출하는 단계는,
    상기 윈도우 내의 해당 픽셀의 좌측 및 우측 픽셀들 중 최대 밝기 값 및 최소 밝기 값을 가지는 픽셀을 찾는 단계;
    상기 윈도우 내의 상기 최대 밝기 값을 가지를 픽셀의 상측 및 하측 픽셀들의 밝기 값에 기초하여 상기 윈도우 내의 최대 밝기 값을 갱신하는 단계; 및
    상기 윈도우 내의 상기 최소 밝기 값을 가지는 픽셀의 상측 및 하측 픽셀들의 밝기 값에 기초하여 상기 윈도우 내의 최소 밝기 값을 갱신하는 단계
    를 포함하는, 이미지에서 그림자를 제거하기 위해 프로세서에 의해 수행되는 방법.
  6. 제4항에 있어서,
    상기 최대 밝기 값과 상기 최소 밝기 값에 기초하여 해당 픽셀의 밝기 값을 조정하는 단계는
    아래의 식을 이용하여 해당 픽셀의 밝기를 조정하는 단계를 포함하고,
    Figure 112019038238424-pat00044

    여기서,
    Figure 112019038238424-pat00045
    는 (x, y) 좌표 지점의 픽셀의 밝기 값을 나타내고,
    Figure 112019038238424-pat00046
    Figure 112019038238424-pat00047
    는 각각 상기 윈도우 내의 최대 밝기 값과 최소 밝기 값을 나타내고,
    Figure 112019038238424-pat00048
    는 해당 픽셀의 조정된 밝기 값을 나타내는, 이미지에서 그림자를 제거하기 위해 프로세서에 의해 수행되는 방법.
  7. 제4항에 있어서,
    시그모이드 함수를 이용하여 해당 픽셀의 조정된 밝기 값을 추가적으로 조정하는 단계는,
    아래의 식을 이용하여 해당 픽셀의 조정된 밝기 값을 추가적으로 조정하는 단계를 포함하고,
    Figure 112019038238424-pat00049

    여기서,
    Figure 112019038238424-pat00050
    는 추가적으로 조정된 밝기 값을 나타내고, L은 출력의 최대값을 나타내고,
    Figure 112019038238424-pat00051
    는 (x, y) 좌표 지점의 픽셀의 밝기 값을 나타내고, Io는 입력의 중간값을 나타내고, k는 곡선의 기움 정도를 나타내는, 이미지에서 그림자를 제거하기 위해 프로세서에 의해 수행되는 방법.
  8. 제1항에 있어서,
    이미지 변화량 기반의 빈 곳 메우기는 아래의 수식에 기초하여 수행되고,
    Figure 112019038238424-pat00052

    여기서, Ω는 채워야하는 내부를 나타내고,
    Figure 112019038238424-pat00053
    는 경계면을 나타내고, I*는 콘텐츠가 포함된 것으로 판정된 픽셀의 밝기 값을 나타내는, 이미지에서 그림자를 제거하기 위해 프로세서에 의해 수행되는 방법.
  9. 제1항에 있어서,
    이미지 변화량 기반의 빈 곳 메우기를 수행하는 단계는,
    콘텐츠가 포함되지 않은 것으로 판정된 픽셀 중 이웃 픽셀이 콘텐츠를 포함하는 것으로 판정된 픽셀에 대해, 해당 픽셀의 색상 값을 이웃 픽셀의 색상 값으로 변경하는 단계 및
    해당 픽셀이 콘텐츠를 포함하는 것으로 갱신하는 단계
    를 포함하는, 이미지에서 그림자를 제거하기 위해 프로세서에 의해 수행되는 방법.
  10. 제9항에 있어서,
    상기 이미지 변화량 기반의 빈 곳 메우기를 수행하는 단계는, 콘텐츠가 포함되지 않은 것으로 판정된 픽셀 중 이웃 픽셀이 콘텐츠를 포함하는 것으로 판정된 픽셀이 없을 때까지 반복되는, 이미지에서 그림자를 제거하기 위해 프로세서에 의해 수행되는 방법.
KR1020180119088A 2018-10-05 2018-10-05 이미지에서 그림자를 제거하기 위한 방법 KR102026308B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180119088A KR102026308B1 (ko) 2018-10-05 2018-10-05 이미지에서 그림자를 제거하기 위한 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180119088A KR102026308B1 (ko) 2018-10-05 2018-10-05 이미지에서 그림자를 제거하기 위한 방법

Publications (1)

Publication Number Publication Date
KR102026308B1 true KR102026308B1 (ko) 2019-09-27

Family

ID=68096907

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180119088A KR102026308B1 (ko) 2018-10-05 2018-10-05 이미지에서 그림자를 제거하기 위한 방법

Country Status (1)

Country Link
KR (1) KR102026308B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08186808A (ja) * 1994-12-28 1996-07-16 Sumitomo Metal Ind Ltd 画像処理方法及びその装置
KR20130076049A (ko) * 2011-12-28 2013-07-08 충북대학교 산학협력단 상대적인 상관도 기반의 그림자 제거 방법
KR101381580B1 (ko) * 2014-02-04 2014-04-17 (주)나인정보시스템 다양한 조명 환경에 강인한 영상 내 차량 위치 판단 방법 및 시스템
KR101845280B1 (ko) * 2016-12-13 2018-04-04 홍익대학교 산학협력단 그림자 신호를 제거하는 차량번호 인식 시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08186808A (ja) * 1994-12-28 1996-07-16 Sumitomo Metal Ind Ltd 画像処理方法及びその装置
KR20130076049A (ko) * 2011-12-28 2013-07-08 충북대학교 산학협력단 상대적인 상관도 기반의 그림자 제거 방법
KR101381580B1 (ko) * 2014-02-04 2014-04-17 (주)나인정보시스템 다양한 조명 환경에 강인한 영상 내 차량 위치 판단 방법 및 시스템
KR101845280B1 (ko) * 2016-12-13 2018-04-04 홍익대학교 산학협력단 그림자 신호를 제거하는 차량번호 인식 시스템 및 방법

Similar Documents

Publication Publication Date Title
WO2017076040A1 (zh) 应用于连拍过程中的图像处理方法和装置
US8213052B2 (en) Digital image brightness adjustment using range information
JP5810628B2 (ja) 画像処理装置及び画像処理プログラム
WO2018228310A1 (zh) 图像处理方法、装置及终端
BRPI0614403A2 (pt) método para binarizar uma imagem; alinhamento de chips para processamento de imagem; dispositivo eletrÈnico; e produto de programa de software
WO2019041842A1 (zh) 一种图像处理方法及装置、存储介质和计算机设备
JP2007531094A (ja) カメラ写真から得られる画像から原データを抽出する方法
KR101597739B1 (ko) 화상 처리 장치, 화상 처리 방법, 및 컴퓨터 판독 가능한 매체
JP2008527852A (ja) ディジタル・カメラの画像のホワイト・バランス補正
US10455163B2 (en) Image processing apparatus that generates a combined image, control method, and storage medium
US8594446B2 (en) Method for enhancing a digitized document
US9852498B2 (en) Removing artifacts from document images
US11750935B2 (en) Systems and methods of image enhancement
CN107105172B (zh) 一种用于对焦的方法和装置
KR102311367B1 (ko) 화상 처리 장치, 화상 처리 방법, 및 프로그램
WO2015015051A1 (en) Method and apparatus for image enhancement
US20140198987A1 (en) Structure Descriptors for Image Processing
JP2017085570A (ja) 画像補正方法及び画像補正装置
US20230222639A1 (en) Data processing method, system, and apparatus
KR102026308B1 (ko) 이미지에서 그림자를 제거하기 위한 방법
KR102164998B1 (ko) 디지털 영상 선예도 강화 방법
JP4784175B2 (ja) 逆光画像判定および暗部補正
JP5278243B2 (ja) 画像処理装置及び画像処理プログラム
CN108596874B (zh) 图像清晰判定方法、装置,以及计算机设备、产品
KR102014217B1 (ko) 음영의 왜곡 보정방법 및 이를 이용하는 장치

Legal Events

Date Code Title Description
GRNT Written decision to grant