KR102591607B1 - Image processing method and system using metadata extracted through reverse engineering of thermal image - Google Patents

Image processing method and system using metadata extracted through reverse engineering of thermal image Download PDF

Info

Publication number
KR102591607B1
KR102591607B1 KR1020210069062A KR20210069062A KR102591607B1 KR 102591607 B1 KR102591607 B1 KR 102591607B1 KR 1020210069062 A KR1020210069062 A KR 1020210069062A KR 20210069062 A KR20210069062 A KR 20210069062A KR 102591607 B1 KR102591607 B1 KR 102591607B1
Authority
KR
South Korea
Prior art keywords
image
image processing
tag
file
metadata
Prior art date
Application number
KR1020210069062A
Other languages
Korean (ko)
Other versions
KR20220160876A (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 KR1020210069062A priority Critical patent/KR102591607B1/en
Publication of KR20220160876A publication Critical patent/KR20220160876A/en
Application granted granted Critical
Publication of KR102591607B1 publication Critical patent/KR102591607B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems
    • G06F16/192Implementing virtual folder structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Processing Or Creating Images (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

열화상 이미지에 대한 리버스 엔지니어링을 통해 추출된 메타데이터를 이용한 이미지 처리 방법 및 시스템이 개시된다. 일 실시예에 따른 열화상 이미지의 리버스 엔지니어링을 통해 메타데이터를 추출하는 단계; 및 상기 추출된 메타데이터를 이용하여 상기 열화상 이미지에 대한 이미지 처리를 수행하는 단계를 포함할 수 있다. An image processing method and system using metadata extracted through reverse engineering of a thermal image is disclosed. Extracting metadata through reverse engineering of a thermal image according to an embodiment; And it may include performing image processing on the thermal image using the extracted metadata.

Description

열화상 이미지에 대한 리버스 엔지니어링을 통해 추출된 메타데이터를 이용한 이미지 처리 방법 및 시스템{IMAGE PROCESSING METHOD AND SYSTEM USING METADATA EXTRACTED THROUGH REVERSE ENGINEERING OF THERMAL IMAGE}Image processing method and system using metadata extracted through reverse engineering of thermal imaging images {IMAGE PROCESSING METHOD AND SYSTEM USING METADATA EXTRACTED THROUGH REVERSE ENGINEERING OF THERMAL IMAGE}

아래의 설명은 열화상 데이터 처리 기술에 관한 것으로, 열화상 이미지에 대한 리버스 엔지니어링을 통해 추출된 메타데이터를 이용한 이미지 처리 방법 및 시스템에 관한 것이다. The explanation below relates to thermal image data processing technology and an image processing method and system using metadata extracted through reverse engineering of thermal image images.

열화상 이미지로부터 메타데이터를 추출 및 이미지 처리를 위한 별도의 툴(tool)이 필요하다. 일례로, FLIR 기종으로 촬영한 열화상 이미지는 메타데이터 추출에는 exiftool, 이미지 처리에는 FlirTool과 같은 소프트웨어가 요구된다. 이와 같은 프로그램들은 제조사에 의해 제한적인 기능들만이 제공되고 있다. 오픈된 API, 라이브러리 등이 존재하지 않기 때문에, 열화상 이미지로 이루어진 빅데이터를 처리할 때도 데이터의 일괄적인 처리가 제한될 수밖에 없다.A separate tool is needed to extract metadata from thermal images and process the images. For example, thermal images taken with a FLIR model require software such as exiftool for metadata extraction and FlirTool for image processing. These programs are provided with only limited functions by the manufacturer. Since there are no open APIs or libraries, batch processing of data is inevitably limited even when processing big data consisting of thermal image images.

열화상 이미지를 리버스 엔지니어링 하여 메타데이터를 추출하고, 추출된 메타데이터를 이용하여 열화상 이미지에 대한 이미지 처리를 수행하는 방법 및 시스템을 제공할 수 있다. A method and system for extracting metadata by reverse engineering a thermal image and performing image processing on the thermal image using the extracted metadata can be provided.

이미지 처리 시스템에 의해 수행되는 이미지 처리 방법은, 열화상 이미지의 리버스 엔지니어링을 통해 메타데이터를 추출하는 단계; 및 상기 추출된 메타데이터를 이용하여 상기 열화상 이미지에 대한 이미지 처리를 수행하는 단계를 포함할 수 있다. An image processing method performed by an image processing system includes extracting metadata through reverse engineering of a thermal image; And it may include performing image processing on the thermal image using the extracted metadata.

상기 추출하는 단계는, 상기 열화상 이미지의 파일 정보에 기초하여 열화상 이미지에 포함된 헤더들 중 메타데이터 추출을 위한 헤더 정보를 분석하고, 상기 분석된 헤더 정보를 통해 획득된 오프셋을 이용하여 이미지 파일 디렉토리(Image File Directory; IFD) 영역에 접근하고, 상기 접근된 이미지 파일 디렉토리 영역에 포함된 태그 정보로부터 상기 열화상 이미지에 대한 메타데이터를 추출하는 단계를 포함할 수 있다. The extracting step analyzes header information for metadata extraction among headers included in the thermal image based on the file information of the thermal image, and uses the offset obtained through the analyzed header information to image the image. It may include accessing an Image File Directory (IFD) area and extracting metadata for the thermal image from tag information included in the accessed image file directory area.

상기 추출하는 단계는, 파일 경로값을 나타내는 제1 태그에 접근하기 위하여 상기 분석된 헤더 정보를 통해 획득된 제2태그의 이미지 파일 디렉토리 영역의 오프셋과 파일 경로값을 나타내는 제1 태그의 오프셋을 획득하는 단계를 포함하고, 상기 제1 태그는 상기 제2 태그의 하위 태그일 수 있다. In the extracting step, in order to access the first tag indicating the file path value, the offset of the image file directory area of the second tag obtained through the analyzed header information and the offset of the first tag indicating the file path value are obtained. It includes the step of: wherein the first tag may be a lower tag of the second tag.

상기 추출하는 단계는, 상기 획득된 제2 태그의 이미지 파일 디렉토리 영역의 오프셋과 상기 파일 경로값을 나타내는 제1 태그의 오프셋 더한 주소 데이터를 통해 상기 파일 경로값을 나타내는 제1 태그에 대한 정보를 통해 메타데이터를 추출하는 단계를 포함할 수 있다. The extracting step includes information on the first tag indicating the file path value through address data plus the offset of the image file directory area of the obtained second tag and the offset of the first tag indicating the file path value. A step of extracting metadata may be included.

상기 이미지 처리를 수행하는 단계는, 상기 이미지 처리를 위한 툴(tool)을 통해 상기 열화상 이미지의 컬러맵을 조정하는 단계를 포함할 수 있다. The step of performing the image processing may include adjusting the color map of the thermal image through a tool for the image processing.

상기 이미지 처리를 수행하는 단계는, 상기 열화상 이미지의 파일 정보 내에 저장된 센서값을 읽고, 상기 읽은 센서값을 통해 온도값으로 변환하고, 컬러맵을 이용하여 상기 이미지 파일 내에 저장된 센서값을 열화상 이미지로 시각화하는 단계를 포함할 수 있다. The step of performing the image processing includes reading the sensor value stored in the file information of the thermal image image, converting the read sensor value into a temperature value, and converting the sensor value stored in the image file into a thermal image using a color map. It may include the step of visualizing it as an image.

상기 이미지 처리를 수행하는 단계는, 컬러맵을 복수 개의 구간으로 분할함에 따라 구분된 각 구간의 길이 비율을 설정하고, 상기 설정된 각 구간의 길이 비율에 따른 전체 픽셀 중 각 구간에 포함된 픽셀의 비율을 나타내는 각 구간의 비율값을 획득하는 단계를 포함할 수 있다. The step of performing the image processing includes dividing the color map into a plurality of sections, setting the length ratio of each section, and setting the ratio of pixels included in each section among all pixels according to the set length ratio of each section. It may include the step of obtaining the ratio value of each section representing .

상기 이미지 처리를 수행하는 단계는, 상기 컬러맵을 일정한 길이의 복수 개의 구간으로 분할함에 따라 각 구간의 길이 비율을 동일하게 설정하는 단계를 포함할 수 있다. The step of performing the image processing may include dividing the color map into a plurality of sections of a certain length and setting the length ratio of each section to be the same.

상기 이미지 처리를 수행하는 단계는, 상기 구분된 각 구간의 길이 비율과 상기 획득된 각 구간의 비율값에 대하여 수학식 1(Rn = Rn + 10 / (W × Xn + 1)을 통해 구간 길이의 비율을 수정하는 단계를 포함하고, 상기 수학식 1에서 Rn 구분된 각 구간의 길이 비율, Xn은 각 구간의 비율값, W는 수렴까지 걸리는 줄이기 위한 상수를 의미할 수 있다. The step of performing the image processing is to determine the length of the section through Equation 1 ( Rn = Rn + 10 / ( W × Including the step of modifying the ratio, and in Equation 1, Rn is Xn may represent the length ratio of each section, Xn may represent the ratio value of each section, and W may represent a constant for reducing the time taken to converge.

상기 이미지 처리를 수행하는 단계는, 상기 획득된 각 구간의 비율값 중 최소 비율이 기 설정된 비율을 초과하거나 수렴할 때까지 상기 획득된 각 구간의 비율값과 구간 길이의 비율을 수정하는 과정을 반복하는 단계를 포함할 수 있다. The step of performing the image processing repeats the process of modifying the ratio value of each obtained section and the ratio of the section length until the minimum ratio among the ratio values of each obtained section exceeds a preset ratio or converges. It may include steps.

이미지 처리 시스템은, 열화상 이미지의 리버스 엔지니어링을 통해 메타데이터를 추출하는 데이터 추출부; 및 상기 추출된 메타데이터를 이용하여 상기 열화상 이미지에 대한 이미지 처리를 수행하는 이미지 처리부를 포함할 수 있다. The image processing system includes a data extraction unit that extracts metadata through reverse engineering of a thermal image; and an image processing unit that performs image processing on the thermal image using the extracted metadata.

메타데이터를 추출 및 이미지 처리를 위한 별도의 툴(tool) 없이도 API를 통해 열화상 이미지를 리버스 엔지니어링 하여 메타데이터를 추출하고, 추출된 메타데이터를 이용하여 이미지를 처리가 가능하다. 또한, 열화상 이미지로 이루어진 빅데이터에 대한 일괄적인 처리가 가능하다. Without a separate tool for extracting metadata and processing images, it is possible to reverse engineer thermal images through API to extract metadata and process the image using the extracted metadata. In addition, batch processing of big data consisting of thermal images is possible.

이미지로부터 센서값을 읽고 온도 값으로 변환하고, 컬러맵을 이용하여 센서값을 열화상 열화상 이미지로 시각화하는 기능을 제공할 수 있다. It can provide the function of reading sensor values from an image, converting them to temperature values, and visualizing the sensor values as a thermal image using a color map.

도 1은 일 실시예에 있어서, FLIR 이미지 바이너리 구조를 설명하기 위한 예이다.
도 2는 일 실시예에 있어서, FLIR FFF 헤더 바이너리 구조를 설명하기 위한 예이다.
도 3은 일 실시예에 있어서, IFD 영역 바이너리 구조를 설명하기 위한 예이다.
도 4는 일 실시예에 있어서, FLIR JPG 파일 분석 및 메타데이터 추출 과정을 설명하기 위한 예이다.
도 5는 일 실시예에 있어서, 열화상 이미지와 실화상 이미지를 매칭한 것을 나타낸 예이다.
도 6은 일 실시예에 있어서, 원본, 센서값에 컬러맵을 적용한 이미지, 컬러맵을 변형하여 원본을 재현한 이미지를 나타낸 예이다.
도 7은 일 실시예에 있어서, 이미지의 컬러맵 및 픽셀 분포 분석 결과를 나타낸 도면이다.
도 8은 일 실시예에 따른 이미지 처리 시스템의 구성을 설명하기 위한 블록도이다.
도 9는 일 실시예에 따른 이미지 처리 시스템에서 이미지 처리 방법을 설명하기 위한 흐름도이다.
Figure 1 is an example to explain the FLIR image binary structure, according to one embodiment.
Figure 2 is an example to explain the FLIR FFF header binary structure in one embodiment.
Figure 3 is an example to explain the IFD area binary structure, according to one embodiment.
Figure 4 is an example to explain the FLIR JPG file analysis and metadata extraction process in one embodiment.
Figure 5 is an example showing matching a thermal image and a real image in one embodiment.
Figure 6 is an example showing the original, an image in which a color map is applied to sensor values, and an image in which the original is reproduced by modifying the color map, according to an embodiment.
Figure 7 is a diagram showing the color map and pixel distribution analysis results of an image, according to one embodiment.
Figure 8 is a block diagram for explaining the configuration of an image processing system according to an embodiment.
Figure 9 is a flowchart for explaining an image processing method in an image processing system according to an embodiment.

이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.

실시예에서는 열화상 이미지를 리버스 엔지니어링 하여 메타데이터를 추출하고, 추출된 메타데이터를 이용하여 이미지를 처리하는 동작에 대하여 설명하기로 한다. 리버스 엔지니어링이란 완성된 제품을 상세하게 분석하여 기본적인 설계 내용을 추적하는 것을 의미한다. 소프트웨어에서는 기계어 코드로부터 원시 소스코드로 변환하는 기술을 특화하는 것을 의미한다. 제품의 통상적인 공정을 역으로 추적한다는 의미에서 역공학(리버스 엔지니어링)이라고 부른다. 제품이 어떻게 작동하는지 분석하여 프로그램이나 보안 메커니즘을 어떻게 작동시키는지를 알아내기 위하여 사용된다.In the embodiment, the operation of reverse engineering a thermal image to extract metadata and processing the image using the extracted metadata will be described. Reverse engineering means analyzing the finished product in detail to trace the basic design details. In software, it means specializing in technology to convert machine code into raw source code. It is called reverse engineering in the sense of tracing back the normal process of a product. It is used to analyze how a product operates to find out how a program or security mechanism operates.

실시예에서는, 열화상 이미지의 예로써, FLIR 기종으로 촬영된 이미지를 예를 들어 설명하기로 한다. FLIR 기종으로 촬영된 이미지로부터 리버스 엔지니어링 하여 메타데이터를 추출하고, 추출된 메타데이터를 이용하여 이미지를 처리하는 API를 제공할 수 있다. In the embodiment, an image captured by a FLIR model will be described as an example of a thermal image. Metadata can be extracted by reverse engineering from images taken with a FLIR model, and an API that processes the image using the extracted metadata can be provided.

도 1은 일 실시예에 있어서, FLIR 이미지 바이너리 구조를 설명하기 위한 예이다. FLIR 이미지는 Exif 형식을 따르며 기본적인 구조는 도 1과 같이 나타낼 수 있다. Exif 형식에서 이미지의 주요 정보는 APP1 영역에 저장된다. 이때, Exif 데이터와 FLIR 데이터가 각각 저장된 복수 개의 APP1 영역이 존재할 수 있다. 도 1에서는 Exif 데이터와 FLIR 데이터가 각각 저장된 2개의 APP1 영역이 존재하는 것으로 나타내었다. APP1 영역이 큰 카테고리로 나누어져 있다면, APP1 내부에서는 해당 카테고리를 하위 태그로 나누어 각각 IFD 영역에 할당한다. 실시예에서는 FLIR 데이터가 저장된 APP1 영역을 집중적으로 분석하기로 한다. Figure 1 is an example to explain the FLIR image binary structure, according to one embodiment. FLIR images follow the Exif format and the basic structure can be represented as shown in Figure 1. In Exif format, the main information of the image is stored in the APP1 area. At this time, there may be a plurality of APP1 areas where Exif data and FLIR data are respectively stored. Figure 1 shows that there are two APP1 areas where Exif data and FLIR data are respectively stored. If the APP1 area is divided into large categories, inside APP1, the categories are divided into sub-tags and assigned to each IFD area. In the example, we will focus on analyzing the APP1 area where FLIR data is stored.

열화상 메타데이터는 FLIR APP1 영역에 표 1과 같은 태그들로 분류, 저장될 수 있다.Thermal image metadata can be classified and stored in the FLIR APP1 area with tags as shown in Table 1.

표 1: FLIR 열화상 메타데이터 태그 목록Table 1: List of FLIR thermal imaging metadata tags

항상 모든 태그가 파일 내에 존재하지는 않으며, 어떤 태그들이 해당 파일에 존재하는 지, APP1 영역 내에서 해당 태그들의 오프셋 정보 등이 FLIR FFF 헤더에 기록되어 있다. 이미지 처리 시스템은 열화상 메타데이터를 추출하기 위하여 FFF 헤더를 읽는 것부터 시작할 수 있다.Not all tags always exist in the file, and which tags exist in the file and the offset information of the tags within the APP1 area are recorded in the FLIR FFF header. The image processing system may start by reading the FFF header to extract thermal image metadata.

도 2는 일 실시예에 있어서, FLIR FFF 헤더 바이너리 구조를 설명하기 위한 예이다. Figure 2 is an example to explain the FLIR FFF header binary structure in one embodiment.

도 2를 참고하면, 실제 FLIR 이미지의 FLIR FFF 헤더 영역의 바이너리를 나타낸 것이다. 도 2에 도시된 Decoded text는 바이너리 값을 ASCII 기반으로 변환한 값이다.Referring to Figure 2, it shows the binary of the FLIR FFF header area of the actual FLIR image. Decoded text shown in Figure 2 is a value converted from a binary value to ASCII.

고유 식별자인 FFF는 FFF헤더가 시작됨을 나타낸다. 이후에 나오는 모든 오프셋 정보는 FFF헤더에 대한 상대적인 값이기 때문에 파일 단위에서 메타데이터에 접근하기 위해서는 FFF헤더의 오프셋이 필수적으로 필요하다.The unique identifier FFF indicates that the FFF header begins. Since all offset information that appears thereafter is a relative value to the FFF header, the offset of the FFF header is essential to access metadata at the file level.

FFF헤더의 오프셋으로부터 특정 바이트 이후에 해당 파일에 존재하는 태그의 목록 및 해당 태그가 저장된 IFD 영역의 오프셋이 주어진다.A list of tags that exist in the file after a specific byte from the offset of the FFF header and the offset of the IFD area where the tags are stored are given.

도 3은 일 실시예에 있어서, IFD 영역 바이너리 구조를 설명하기 위한 예이다. Figure 3 is an example to explain the IFD area binary structure, according to one embodiment.

실제의 메타데이터들은 FLIR APP1의 IFD(Image File Directory)영역에 기록되어 있다. 메타데이터들을 획득하기 위해 FFF헤더 분석을 통해 얻어낸 오프셋을 이용해 각 IFD 영역에 접근 및 메타데이터 추출을 진행하여야 한다.Actual metadata are recorded in the IFD (Image File Directory) area of FLIR APP1. To obtain metadata, each IFD area must be accessed and metadata extracted using the offset obtained through FFF header analysis.

IFD영역에는 태그에 속하는 데이터들이 하위 태그로 분류되어 연속적으로 저장되어 있다. 이 하위 태그에 대한 정보는 exiftool 포럼에서 얻을 수 있다.In the IFD area, data belonging to tags is classified into sub-tags and stored continuously. Information about this subtag can be obtained from the exiftool forum.

도 3을 참고하면, PaletteInfo 태그의 메타데이터를 추출하는 과정을 나타낸 예이다. 하위 태그 정보표에서 인덱스(index)는 IFD 영역에서의 오프셋을 의미한다. 이를 이용하여 상위 태그에 접근할 때와 동일한 방식으로 하위 태그의 데이터에 접근할 수 있다.Referring to Figure 3, this is an example showing the process of extracting metadata of the PaletteInfo tag. In the sub-tag information table, the index means the offset in the IFD area. Using this, you can access the data of the child tag in the same way as accessing the parent tag.

'PaletteInfo' 태그의 하위 태그이자 팔레트 파일 경로값을 나타내는 'PaletteFileName' 태그에 접근하기 위해서는 FFF 헤더 분석을 통해 획득한 PaletteInfo 태그 IFD 영역의 오프셋(0x0BAC)과, 'PaletteFileName'의 오프셋(0x0030)이 필요하다.To access the 'PaletteFileName' tag, which is a sub-tag of the 'PaletteInfo' tag and represents the palette file path value, the offset (0x0BAC) of the PaletteInfo tag IFD area obtained through FFF header analysis and the offset (0x0030) of 'PaletteFileName' are required. do.

최종적으로 두 오프셋을 더한 주소인 0x0BEC에서 'PaletteFileName' 태그에 해당하는 정보가 나타나는 것을 볼 수 있으며, 위 과정을 통해 각 메타데이터의 추출이 이루어진다.Finally, you can see that information corresponding to the 'PaletteFileName' tag appears at 0x0BEC, which is the address obtained by adding the two offsets, and each metadata is extracted through the above process.

도 4는 일 실시예에 있어서, FLIR JPG 파일 분석 및 메타데이터 추출 과정을 설명하기 위한 예이다.Figure 4 is an example to explain the FLIR JPG file analysis and metadata extraction process in one embodiment.

이미지 처리 시스템은 JPG 파일 인식 과정, Exif 헤더 접근 과정, JPG 파일에서 열화상 메타데이터가 저장된 AP1 영역 탐색 과정, FFF 헤더에서 태그 목록 및 오프셋 정보 추출 과정, 태그 목록과 오프셋 정보를 통해 각 태그별 IFD 영역에 접근 및 메타데이터 추출 과정을 수행할 수 있다.The image processing system is a JPG file recognition process, an Exif header access process, a search process for the AP1 area where thermal image metadata is stored in the JPG file, a tag list and offset information extraction process from the FFF header, and an IFD for each tag through the tag list and offset information. Area access and metadata extraction processes can be performed.

이미지 처리 시스템은 카메라에 촬영된 열화상 이미지의 파일 정보를 식별할 수 있다. 이때, 카메라는 열화상 카메라일 수 있고, 또는, 열화상 카메라가 아닌 서로 다른 종류의 카메라들의 하드웨어적 또는 소프트웨어적인 결합을 통해 열화상 카메라 기능이 제공될 수 있다. 또한, 열화상 카메라로부터 열화상 이미지가 획득될 수 있고, 또는, 서로 다른 종류의 카메라들로부터 획득된 이미지의 특정 처리 및 결합을 통해 열화상 이미지가 획득될 수 있다. 예를 들면, 이미지 처리 시스템은 열화상 이미지로부터 JPG 파일을 인식할 수 있다. 이미지 처리 시스템은 열화상 이미지의 SOI(Start Of Image) 고유 비트를 먼저 읽어 .jpg 형식을 따르는 파일인지 확인할 수 있다.The image processing system can identify the file information of the thermal image captured by the camera. At this time, the camera may be a thermal imaging camera, or a thermal imaging camera function may be provided through a hardware or software combination of different types of cameras other than thermal imaging cameras. Additionally, a thermal image may be acquired from a thermal imaging camera, or the thermal image may be obtained through specific processing and combination of images acquired from different types of cameras. For example, an image processing system can recognize a JPG file from a thermal image. The image processing system can first read the SOI (Start Of Image) unique bits of the thermal image to check whether the file follows the .jpg format.

이미지 시스템은 열화상 Exif 헤더에 접근할 수 있다. 이미지 처리 시스템은 Exif 포맷 JPG 파일의 경우, JFIF 영역에 정보가 저장되지 않기 때문에 길이가 일정하여 간단하게 Exif 헤더에 바로 접근할 수 있다.The imaging system has access to the thermal image Exif header. In the case of Exif format JPG files, the image processing system has a constant length because information is not stored in the JFIF area, so the Exif header can be easily accessed directly.

이미지 처리 시스템은 JPG 파일에서 열화상 메타데이터가 저장된 APP1 영역을 탐색할 수 있다. 이미지 처리 시스템은 Exif의 각 세그먼트의 시작 부분에는 해당 영역의 크기가 기록되어 있으며 이를 통해 빠르게 FLIR APP1 영역을 탐색할 수 있다. The image processing system can search the APP1 area where thermal image metadata is stored in the JPG file. The image processing system records the size of the area at the beginning of each segment of Exif, allowing it to quickly search the FLIR APP1 area.

이미지 처리 시스템은 FFF헤더에서 태그 목록 및 오프셋(Offset) 정보를 추출할 수 있다. 이때, FFF헤더에 나타나는 모든 오프셋 정보는 FFF헤더를 기준으로 한 상대적인 오프셋 이므로 해당 값을 통해 데이터에 접근하기 위해선 FFF헤더의 오프셋 정보가 필수적으로 필요하다.The image processing system can extract tag list and offset information from the FFF header. At this time, all offset information appearing in the FFF header is a relative offset based on the FFF header, so the offset information in the FFF header is essential to access data through the corresponding value.

이미지 처리 시스템은 태그 목록과 오프셋(Offset) 정보를 통해 각 태그 별 IFD 영역에 접근하고, 접근된 IFD 영역을 통해 메타데이터를 추출할 수 있다. 이미지 처리 시스템은 Exiftool 포럼의 태그 정보 표의 인덱스 정보를 통해 하위 태그의 오프셋과 크기, 형식 등을 유추할 수 있다.The image processing system can access the IFD area for each tag through the tag list and offset information and extract metadata through the accessed IFD area. The image processing system can infer the offset, size, and format of the child tag through the index information in the tag information table of the Exiftool forum.

도 5는 일 실시예에 있어서, 열화상 이미지와 실화상 이미지를 매칭한 것을 나타낸 예이다. Figure 5 is an example showing matching a thermal image and a real image in one embodiment.

이미지 처리 시스템은 열화상 이미지와 실화상 이미지를 매칭할 수 있다. FLIR 기종에서 열화상 이미지와 실화상 이미지는 같은 카메라에서 동시에 촬영되지만, 실화상 이미지는 고해상도를 지원하는 반면 열화상 이미지는 실화상 이미지와 동일한 해상도를 지원할 수 없기 때문에 두 이미지를 비교하기 위해선 고해상도인 실화상 이미지에서 열화상 이미지에 촬영된 부분을 찾아야 한다.The image processing system can match thermal images and real images. In FLIR models, thermal images and real images are captured simultaneously by the same camera, but while real images support high resolution, thermal images cannot support the same resolution as real images. Therefore, in order to compare the two images, it is necessary to use high-resolution images. You need to find the part captured in the thermal image in the real image.

도 5는 열화상 이미지와 실화상 이미지를 매칭한 것을 나타낸 예이다. 도 5의 이미지들은 왼쪽부터 원본 이미지(640 x 480), 열화상 이미지를 실화상 이미지 상에 위치시킨 이미지(1402 x 1502), 실화상 이미지에서 열화상 이미지에 촬영된 부분만 잘라낸 이미지(640 x 480)를 나타낸 것이다.Figure 5 is an example showing matching a thermal image and a real image. The images in Figure 5 are, from the left, the original image (640 480).

가운데 이미지의 해상도(1402 x 1502)는 열화상 이미지의 사이즈와 렌즈마다 고유하게 가지고 있는 실화상 이미지와 열화상 이미지의 비율 값에 의해 결정될 수 있다.The resolution of the middle image (1402 x 1502) can be determined by the size of the thermal image and the ratio value between the real image and the thermal image unique to each lens.

도 6은 일 실시예에 있어서, 원본, 센서값에 컬러맵을 적용한 이미지, 컬러맵을 변형하여 원본을 재현한 이미지를 나타낸 예이다.Figure 6 is an example showing the original, an image in which a color map is applied to sensor values, and an image in which the original is reproduced by modifying the color map, according to an embodiment.

이미지 처리 시스템은 열화상 이미지의 컬러맵을 조정할 수 있다. 열화상 이미지를 활용할 때 결국 가장 중요한 정보는 온도값이며, 이는 열화상 이미지에는 표현되어 있지 않다. 이때, 온도값은 이미지 파일 내에 센서값으로 저장되어 있다. 실제로 FlirTool과 같은 소프트웨어는 온도값을 토대로 동작한다. 실시예에서는 열화상 이미지로부터 센서값을 읽고 온도값으로 변환하는 기능을 지원하며, 컬러맵을 이용하여 센서값을 열화상 이미지로 시각화 하는 기능을 구현할 수 있다. The image processing system can adjust the color map of the thermal image. Ultimately, when using thermal imaging images, the most important information is the temperature value, which is not expressed in thermal imaging images. At this time, the temperature value is stored as a sensor value in the image file. In fact, software such as FlirTool operates based on temperature values. In the embodiment, a function of reading sensor values from a thermal image and converting them into temperature values is supported, and a function of visualizing sensor values as a thermal image can be implemented using a color map.

Flir 열화상 이미지에 포함된 컬러맵을 그대로 센서값에 적용하면 도 6의 가운데 이미지와 같이 본래 열화상 이미지와는 상이한 이미지가 생성될 수 있다.If the color map included in the Flir thermal image is applied to the sensor value as is, an image different from the original thermal image may be generated, as shown in the center image of FIG. 6.

도 7은 일 실시예에 있어서, 이미지의 컬러맵 및 픽셀 분포 분석 결과를 나타낸 도면이다.Figure 7 is a diagram showing the color map and pixel distribution analysis results of an image, according to one embodiment.

이미지 처리 시스템은 원본 이미지의 재현을 위해 원본 이미지에 적용된 컬러맵과 메타데이터로써 기록된 컬러맵을 비교 및 분석할 수 있다. 그 결과, 도 7과 같이 나타낼 수 있다.The image processing system can compare and analyze the color map applied to the original image and the color map recorded as metadata to reproduce the original image. As a result, it can be expressed as shown in FIG. 7.

도 7의 왼쪽에 도시된 두 컬러맵을 보면 서로 상이하게 나타나는 것을 확인할 수 있다. 이미지 처리 시스템은 컬러맵의 차이가 나타나는 원리의 분석을 위해 도 7의 오른쪽 그래프와 같이, 각 온도 범위마다 나타나는 픽셀 분포를 분석할 수 있다. 이때, 각 온도 범위는 사용자 또는 컴퓨터에 의해 설정될 수 있다. If you look at the two color maps shown on the left of FIG. 7, you can see that they appear different from each other. The image processing system can analyze the pixel distribution for each temperature range, as shown in the graph on the right of FIG. 7, to analyze the principle of color map differences. At this time, each temperature range can be set by the user or computer.

이미지 처리 시스템은 픽셀 분포를 분석함에 따라 픽셀 분포에 대한 길이를 조정할 수 있다. 이미지 처리 시스템은 픽셀 분포가 기 설정된 기준 이상의 영역의 길이 및 기 설정된 기준 이하의 영역의 길이에 대하여 각각 조정할 수 있다. The image processing system can adjust the length of the pixel distribution as it analyzes the pixel distribution. The image processing system can adjust the pixel distribution for the length of the area above a preset standard and the length of the area below the preset standard.

예를 들면, 분석 결과, 이미지의 가시성 향상을 위해 픽셀 분포가 높은 영역의 길이를 줄이고, 분포가 낮은 영역의 길이를 늘려서 각 색상이 이미지 내에서 나타나는 비율이 비슷하도록 조정된 것을 확인할 수 있다.For example, as a result of the analysis, it can be seen that in order to improve the visibility of the image, the length of the area with high pixel distribution was reduced and the length of the area with low pixel distribution was increased so that the ratio of each color appearing in the image was similar.

이와 같은 기능의 재현을 위해, 다음과 같은 알고리즘을 개발 및 사용될 수 있으며, 도 6과 같이 재현될 수 있다.To reproduce this function, the following algorithm can be developed and used, and can be reproduced as shown in FIG. 6.

(1) 이미지 처리 시스템은 컬러맵을 일정한 길이의 복수 개(예를 들면, 6개)의 구간으로 분할할 수 있다. 컬러맵을 일정한 길이로 분할됨에 따라 각 구간의 길이 비율은 다음과 같다. (1) The image processing system may divide the color map into a plurality of sections (for example, 6) of constant length. As the color map is divided into certain lengths, the length ratio of each section is as follows.

R1 : R2 : R3 : R4 : R5: R6 = 1: 1: 1: 1: 1: 1R 1 : R 2 : R 3 : R 4 : R 5 : R 6 = 1: 1: 1: 1: 1: 1

(2) 이미지 처리 시스템은 R1 : R2 : R3 : R4 : R5: R6 에 따른 전체 픽셀 중 각 구간에 포함된 픽셀의 비율을 나타나는 X n 을 도출할 수 있다. 예를 들면, X1은 1/6로 계산될 수 있다. ( 2 ) The image processing system can derive For example, X 1 can be calculated as 1/6.

(3) 이미지 처리 시스템은 R n X n 에 대하여 수학식 1을 적용하여 구간 길이의 비율을 수정할 수 있다. (3) The image processing system can modify the ratio of section lengths by applying Equation 1 to R n and X n .

수학식 1: (Rn = Rn + 10 / (W × Xn + 1)Equation 1: ( Rn = Rn + 10 / ( W × Xn + 1)

여기서, 수학식 1에서 Rn 구분된 각 구간의 길이 비율, Xn은 각 구간의 비율값, W는 수렴까지 걸리는 줄이기 위한 상수를 의미한다. Here, in Equation 1, Rn is Xn is the length ratio of each section, Xn is the ratio value of each section, and W is a constant for reducing the time taken to converge.

(4) 이미지 처리 시스템은 획득된 각 구간의 비율값 중 최소 비율이 기 설정된 비율을 초과하거나 수렴할 때까지 획득된 각 구간의 비율값과 구간 길이의 비율을 수정하는 과정을 반복할 수 있다. 예를 들면, 이미지 처리 시스템은 X n 중 최소 비율이 10%를 넘거나 수렴할 때까지 (2)와 (3)의 과정을 반복할 수 있다. (4) The image processing system may repeat the process of modifying the ratio value of each acquired section and the ratio of the section length until the minimum ratio among the ratio values of each obtained section exceeds a preset ratio or converges. For example, the image processing system may repeat processes (2) and (3) until the minimum ratio of X n exceeds 10% or converges.

도 8은 일 실시예에 따른 이미지 처리 시스템의 구성을 설명하기 위한 블록도이고, 도 9는 일 실시예에 따른 이미지 처리 시스템에서 이미지 처리 방법을 설명하기 위한 흐름도이다. FIG. 8 is a block diagram for explaining the configuration of an image processing system according to an embodiment, and FIG. 9 is a flowchart for explaining an image processing method in an image processing system according to an embodiment.

이미지 처리 시스템(100)의 프로세서는 데이터 추출부(810) 및 이미지 처리부(820)를 포함할 수 있다. 이러한 프로세서의 구성요소들은 이미지 처리 시스템에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 프로세서 및 프로세서의 구성요소들은 도 9의 이미지 처리 방법이 포함하는 단계들(910 내지 920)을 수행하도록 이미지 처리 시스템을 제어할 수 있다. 이때, 프로세서 및 프로세서의 구성요소들은 메모리가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.The processor of the image processing system 100 may include a data extraction unit 810 and an image processing unit 820. These processor components may be expressions of different functions performed by the processor according to control instructions provided by program codes stored in the image processing system. The processor and its components may control the image processing system to perform steps 910 to 920 included in the image processing method of FIG. 9 . At this time, the processor and its components may be implemented to execute instructions according to the code of an operating system included in the memory and the code of at least one program.

프로세서는 이미지 처리 방법을 위한 프로그램의 파일에 저장된 프로그램 코드를 메모리에 로딩할 수 있다. 예를 들면, 이미지 처리 시스템에서 프로그램이 실행되면, 프로세서는 운영체제의 제어에 따라 프로그램의 파일로부터 프로그램 코드를 메모리에 로딩하도록 이미지 처리 시스템을 제어할 수 있다. 이때, 프로세서 및 프로세서가 포함하는 데이터 추출부(810) 및 이미지 처리부(820) 각각은 메모리에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(910 내지 920)을 실행하기 위한 프로세서의 서로 다른 기능적 표현들일 수 있다. The processor may load program code stored in a program file for an image processing method into memory. For example, when a program is executed in an image processing system, the processor can control the image processing system to load program code from the program file into memory under the control of the operating system. At this time, the processor and each of the data extraction unit 810 and the image processing unit 820 included in the processor are processors for executing the subsequent steps 910 to 920 by executing instructions of the corresponding portion of the program code loaded in the memory. may be different functional expressions of .

단계(910)에서 데이터 추출부(810)는 열화상 이미지의 리버스 엔지니어링을 통해 메타데이터를 추출할 수 있다. 데이터 추출부(810)는 열화상 이미지의 파일 정보에 기초하여 열화상 이미지에 포함된 헤더들 중 메타데이터 추출을 위한 헤더 정보를 분석하고, 분석된 헤더 정보를 통해 획득된 오프셋을 이용하여 이미지 파일 디렉토리(Image File Directory; IFD) 영역에 접근하고, 접근된 이미지 파일 디렉토리 영역에 포함된 태그 정보로부터 열화상 이미지에 대한 메타데이터를 추출할 수 있다. 데이터 추출부(810)는 파일 경로값을 나타내는 제1 태그에 접근하기 위하여 분석된 헤더 정보를 통해 획득된 제2태그의 이미지 파일 디렉토리 영역의 오프셋과 파일 경로값을 나타내는 제1 태그의 오프셋을 획득할 수 있다. 이때, 제1 태그는 제2 태그의 하위 태그를 의미한다. 데이터 추출부(810)는 획득된 제2 태그의 이미지 파일 디렉토리 영역의 오프셋과 파일 경로값을 나타내는 제1 태그의 오프셋 더한 주소 데이터를 통해 파일 경로값을 나타내는 제1 태그에 대한 정보를 통해 메타데이터를 추출할 수 있다. In step 910, the data extraction unit 810 may extract metadata through reverse engineering of the thermal image. The data extraction unit 810 analyzes header information for metadata extraction among the headers included in the thermal image based on the file information of the thermal image, and uses the offset obtained through the analyzed header information to file the image file. You can access the Image File Directory (IFD) area and extract metadata about the thermal image from the tag information contained in the accessed image file directory area. In order to access the first tag indicating the file path value, the data extraction unit 810 acquires the offset of the image file directory area of the second tag obtained through the analyzed header information and the offset of the first tag indicating the file path value. can do. At this time, the first tag means a sub-tag of the second tag. The data extraction unit 810 generates metadata through information about the first tag indicating the file path value through address data plus the offset of the image file directory area of the acquired second tag and the offset of the first tag indicating the file path value. can be extracted.

단계(920)에서 이미지 처리부(820)는 추출된 메타데이터를 이용하여 열화상 이미지에 대한 이미지 처리를 수행할 수 있다. 이미지 처리부(820)는 이미지 처리를 위한 툴(tool)을 통해 열화상 이미지의 컬러맵을 조정할 수 있다. 이미지 처리부(820)는 열화상 이미지의 파일 정보 내에 저장된 센서값을 읽고, 읽은 센서값을 통해 온도값으로 변환하고, 컬러맵을 이용하여 이미지 파일 내에 저장된 센서값을 열화상 이미지로 시각화할 수 있다. 이미지 처리부(820)는 컬러맵을 복수 개의 구간으로 분할함에 따라 구분된 각 구간의 길이 비율을 설정하고, 설정된 각 구간의 길이 비율에 따른 전체 픽셀 중 각 구간에 포함된 픽셀의 비율을 나타내는 각 구간의 비율값을 획득할 수 있다. 이미지 처리부(820)는 컬러맵을 일정한 길이의 복수 개의 구간으로 분할함에 따라 각 구간의 길이 비율을 동일하게 설정할 수 있다. 이미지 처리부(820)는 구분된 각 구간의 길이 비율과 획득된 각 구간의 비율값에 대하여 수학식 1(Rn = Rn + 10 / (W × Xn + 1)을 통해 구간 길이의 비율을 수정할 수 있다. 이때, 수학식 1에서 Rn 구분된 각 구간의 길이 비율, Xn은 각 구간의 비율값, W는 수렴까지 걸리는 줄이기 위한 상수를 의미한다. 이미지 처리부(820)는 획득된 각 구간의 비율값 중 최소 비율이 기 설정된 비율을 초과하거나 수렴할 때까지 획득된 각 구간의 비율값과 구간 길이의 비율을 수정하는 과정을 반복할 수 있다. In step 920, the image processing unit 820 may perform image processing on the thermal image using the extracted metadata. The image processing unit 820 can adjust the color map of the thermal image through an image processing tool. The image processing unit 820 reads the sensor value stored in the file information of the thermal image image, converts the read sensor value into a temperature value, and visualizes the sensor value stored in the image file as a thermal image using a color map. . The image processing unit 820 divides the color map into a plurality of sections, sets the length ratio of each section, and each section represents the ratio of pixels included in each section among all pixels according to the set length ratio of each section. The ratio value can be obtained. The image processing unit 820 may divide the color map into a plurality of sections of constant length and set the length ratio of each section to be the same. The image processing unit 820 can modify the ratio of section lengths through Equation 1 ( Rn = Rn + 10 / ( W × At this time, in Equation 1, Rn is Xn is the length ratio of each section, Xn is the ratio value of each section, and W is a constant for reducing the time taken to converge. The image processing unit 820 may repeat the process of modifying the ratio of the obtained ratio value of each section and the section length until the minimum ratio among the obtained ratio values of each section exceeds a preset ratio or converges.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented with hardware components, software components, and/or a combination of hardware components and software components. For example, devices and components described in embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), etc. , may be implemented using one or more general-purpose or special-purpose computers, such as a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. A processing device may execute an operating system (OS) and one or more software applications that run on the operating system. Additionally, a processing device may access, store, manipulate, process, and generate data in response to the execution of software. For ease of understanding, a single processing device may be described as being used; however, those skilled in the art will understand that a processing device includes multiple processing elements and/or multiple types of processing elements. It can be seen that it may include. For example, a processing device may include a plurality of processors or one processor and one controller. Additionally, other processing configurations, such as parallel processors, are possible.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing unit to operate as desired, or may be processed independently or collectively. You can command the device. Software and/or data may be used on any type of machine, component, physical device, virtual equipment, computer storage medium or device to be interpreted by or to provide instructions or data to a processing device. It can be embodied in . Software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the medium may be specially designed and configured for the embodiment or may be known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -Includes optical media (magneto-optical media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited examples and drawings, various modifications and variations can be made by those skilled in the art from the above description. For example, the described techniques are performed in a different order than the described method, and/or components of the described system, structure, device, circuit, etc. are combined or combined in a different form than the described method, or other components are used. Alternatively, appropriate results may be achieved even if substituted or substituted by an equivalent.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims also fall within the scope of the claims described below.

Claims (11)

이미지 처리 시스템에 의해 수행되는 이미지 처리 방법에 있어서,
열화상 이미지의 이미지 처리를 위한 API를 통해 실행되는 리버스 엔지니어링 기반의 파일 분석을 수행함에 따라 메타데이터를 추출하는 단계; 및
상기 추출된 메타데이터를 이용하여 상기 열화상 이미지에 대한 이미지 처리를 수행하는 단계
를 포함하고,
상기 추출하는 단계는,
상기 열화상 이미지의 파일 정보에 기초하여 상기 열화상 이미지에 포함된 헤더들 중 메타데이터 추출을 위한 헤더 정보를 분석하고, 상기 분석된 헤더 정보를 통해 획득된 오프셋을 이용하여 이미지 파일 디렉토리(Image File Directory; IFD) 영역에 접근하고, 상기 접근된 이미지 파일 디렉토리 영역에 포함된 태그 정보로부터 상기 열화상 이미지에 대한 메타데이터를 추출하고, 파일 경로값을 나타내는 제1 태그에 접근하기 위하여 상기 분석된 헤더 정보를 통해 획득된 제2태그의 이미지 파일 디렉토리 영역의 오프셋과 파일 경로값을 나타내는 제1 태그의 오프셋을 획득하고, 상기 획득된 제2 태그의 이미지 파일 디렉토리 영역의 오프셋과 상기 파일 경로값을 나타내는 제1 태그의 오프셋 더한 주소 데이터를 통해 상기 파일 경로값을 나타내는 제1 태그에 대한 정보를 통해 메타데이터를 추출하는 단계
를 포함하고,
상기 제1 태그는 상기 제2 태그의 하위 태그이고,
상기 이미지 처리를 수행하는 단계는,
상기 이미지 처리를 위한 툴(tool)을 통해 상기 열화상 이미지의 컬러맵을 조정하고, 상기 열화상 이미지의 파일 정보 내에 저장된 센서값을 읽고, 상기 읽은 센서값을 통해 온도값으로 변환하고, 컬러맵을 이용하여 상기 열화상 이미지의 파일 정보 내에 저장된 센서값을 열화상 이미지로 시각화하는 단계
를 포함하고,
상기 컬러맵은, 원본 이미지에 적용된 컬러맵과 상기 메타데이터에 기록된 컬러맵을 비교하여 온도 범위마다 픽셀 분포의 분석을 통해 픽셀 분포에 대한 길이가 조정된 것인,
이미지 처리 방법.
In an image processing method performed by an image processing system,
Extracting metadata by performing reverse engineering-based file analysis executed through an API for image processing of thermal images; and
Performing image processing on the thermal image using the extracted metadata
Including,
The extracting step is,
Based on the file information of the thermal image, header information for metadata extraction among the headers included in the thermal image is analyzed, and the offset obtained through the analyzed header information is used to create an image file directory (Image File). Directory (IFD) area, extract metadata for the thermal image from tag information included in the accessed image file directory area, and access the first tag indicating the file path value. Obtaining an offset of the first tag indicating an offset and a file path value of an image file directory area of a second tag obtained through information, and indicating an offset of an image file directory area of the obtained second tag and the file path value. Extracting metadata through information about the first tag indicating the file path value through address data plus the offset of the first tag
Including,
The first tag is a sub-tag of the second tag,
The step of performing the image processing is,
Adjust the color map of the thermal image through the image processing tool, read the sensor value stored in the file information of the thermal image, convert the read sensor value into a temperature value, and convert the color map Visualizing sensor values stored in the file information of the thermal image as a thermal image using
Including,
The color map is one in which the length of the pixel distribution is adjusted through analysis of the pixel distribution for each temperature range by comparing the color map applied to the original image and the color map recorded in the metadata,
Image processing method.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 이미지 처리를 수행하는 단계는,
컬러맵을 복수 개의 구간으로 분할함에 따라 구분된 각 구간의 길이 비율을 설정하고, 상기 설정된 각 구간의 길이 비율에 따른 전체 픽셀 중 각 구간에 포함된 픽셀의 비율을 나타내는 각 구간의 비율값을 획득하는 단계
를 포함하는 이미지 처리 방법.
According to paragraph 1,
The step of performing the image processing is,
By dividing the color map into a plurality of sections, the length ratio of each section is set, and the ratio value of each section is obtained, which represents the ratio of pixels included in each section among all pixels according to the set length ratio of each section. steps to do
An image processing method comprising:
제1항에 있어서,
상기 이미지 처리를 수행하는 단계는,
상기 컬러맵을 일정한 길이의 복수 개의 구간으로 분할함에 따라 각 구간의 길이 비율을 동일하게 설정하는 단계
를 포함하는 이미지 처리 방법.
According to paragraph 1,
The step of performing the image processing is,
Setting the length ratio of each section to be the same by dividing the color map into a plurality of sections of constant length
An image processing method comprising:
제7항에 있어서,
상기 이미지 처리를 수행하는 단계는,
상기 구분된 각 구간의 길이 비율과 상기 획득된 각 구간의 비율값에 대하여 수학식 1(Rn = Rn + 10 / (W × Xn + 1)을 통해 구간 길이의 비율을 수정하는 단계
를 포함하고,
상기 수학식 1에서 Rn 구분된 각 구간의 길이 비율, Xn은 각 구간의 비율값, W는 수렴까지 걸리는 줄이기 위한 상수를 의미하는
것을 특징으로 하는 이미지 처리 방법.
In clause 7,
The step of performing the image processing is,
A step of modifying the ratio of section lengths through Equation 1 ( Rn = Rn + 10 / ( W ×
Including,
In Equation 1 above, Rn is The length ratio of each section is the ratio,
An image processing method characterized by:
제9항에 있어서,
상기 이미지 처리를 수행하는 단계는,
상기 획득된 각 구간의 비율값 중 최소 비율이 기 설정된 비율을 초과하거나 수렴할 때까지 상기 획득된 각 구간의 비율값과 구간 길이의 비율을 수정하는 과정을 반복하는 단계
를 포함하는 이미지 처리 방법.
According to clause 9,
The step of performing the image processing is,
Repeating the process of modifying the ratio of the ratio value of each obtained section and the section length until the minimum ratio among the obtained ratio values of each section exceeds a preset ratio or converges.
An image processing method comprising:
이미지 처리 시스템에 있어서,
열화상 이미지의 이미지 처리를 위한 API를 통해 실행되는 리버스 엔지니어링 기반의 파일 분석을 수행함에 따라 메타데이터를 추출하는 데이터 추출부; 및
상기 추출된 메타데이터를 이용하여 상기 열화상 이미지에 대한 이미지 처리를 수행하는 이미지 처리부
를 포함하고,
상기 데이터 추출부는,
상기 열화상 이미지의 파일 정보에 기초하여 상기 열화상 이미지에 포함된 헤더들 중 메타데이터 추출을 위한 헤더 정보를 분석하고, 상기 분석된 헤더 정보를 통해 획득된 오프셋을 이용하여 이미지 파일 디렉토리(Image File Directory; IFD) 영역에 접근하고, 상기 접근된 이미지 파일 디렉토리 영역에 포함된 태그 정보로부터 상기 열화상 이미지에 대한 메타데이터를 추출하고, 파일 경로값을 나타내는 제1 태그에 접근하기 위하여 상기 분석된 헤더 정보를 통해 획득된 제2태그의 이미지 파일 디렉토리 영역의 오프셋과 파일 경로값을 나타내는 제1 태그의 오프셋을 획득하고, 상기 획득된 제2 태그의 이미지 파일 디렉토리 영역의 오프셋과 상기 파일 경로값을 나타내는 제1 태그의 오프셋 더한 주소 데이터를 통해 상기 파일 경로값을 나타내는 제1 태그에 대한 정보를 통해 메타데이터를 추출하는 것을 포함하고,
상기 제1 태그는 상기 제2 태그의 하위 태그이고,
상기 이미지 처리부는,
상기 이미지 처리를 위한 툴(tool)을 통해 상기 열화상 이미지의 컬러맵을 조정하고, 상기 열화상 이미지의 파일 정보 내에 저장된 센서값을 읽고, 상기 읽은 센서값을 통해 온도값으로 변환하고, 컬러맵을 이용하여 상기 열화상 이미지의 파일 정보 내에 저장된 센서값을 열화상 이미지로 시각화하는 것을 포함하고,
상기 컬러맵은, 원본 이미지에 적용된 컬러맵과 상기 메타데이터에 기록된 컬러맵을 비교하여 온도 범위마다 픽셀 분포의 분석을 통해 픽셀 분포에 대한 길이가 조정된 것인,
이미지 처리 시스템.
In an image processing system,
a data extraction unit that extracts metadata by performing reverse engineering-based file analysis executed through an API for image processing of thermal images; and
An image processing unit that performs image processing on the thermal image using the extracted metadata.
Including,
The data extraction unit,
Based on the file information of the thermal image, header information for metadata extraction among the headers included in the thermal image is analyzed, and the offset obtained through the analyzed header information is used to create an image file directory (Image File). Directory (IFD) area, extract metadata for the thermal image from tag information included in the accessed image file directory area, and access the first tag indicating the file path value. Obtaining an offset of the first tag indicating an offset and a file path value of an image file directory area of a second tag obtained through information, and indicating an offset of an image file directory area of the obtained second tag and the file path value. It includes extracting metadata through information about the first tag indicating the file path value through address data plus the offset of the first tag,
The first tag is a sub-tag of the second tag,
The image processing unit,
Adjust the color map of the thermal image through the image processing tool, read the sensor value stored in the file information of the thermal image, convert the read sensor value into a temperature value, and convert the color map It includes visualizing the sensor value stored in the file information of the thermal image as a thermal image using,
The color map is one in which the length of the pixel distribution is adjusted through analysis of the pixel distribution for each temperature range by comparing the color map applied to the original image and the color map recorded in the metadata,
Image processing system.
KR1020210069062A 2021-05-28 2021-05-28 Image processing method and system using metadata extracted through reverse engineering of thermal image KR102591607B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210069062A KR102591607B1 (en) 2021-05-28 2021-05-28 Image processing method and system using metadata extracted through reverse engineering of thermal image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210069062A KR102591607B1 (en) 2021-05-28 2021-05-28 Image processing method and system using metadata extracted through reverse engineering of thermal image

Publications (2)

Publication Number Publication Date
KR20220160876A KR20220160876A (en) 2022-12-06
KR102591607B1 true KR102591607B1 (en) 2023-10-19

Family

ID=84407508

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210069062A KR102591607B1 (en) 2021-05-28 2021-05-28 Image processing method and system using metadata extracted through reverse engineering of thermal image

Country Status (1)

Country Link
KR (1) KR102591607B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101339026B1 (en) 2013-10-14 2013-12-09 (주)유디피 Method and apparatus for thermal camera visibility enhancing
KR101705063B1 (en) 2016-09-26 2017-02-09 (주)큐브이미징시스템즈 Defective pixel detection method and device using memorized position of thermal imaging camera

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2993455B2 (en) * 1997-03-10 1999-12-20 日本電気株式会社 Image and audio playback device
KR100670443B1 (en) * 2005-05-03 2007-01-16 엘지전자 주식회사 Computer recordable medium recording data file for sound/image syncronization and method for inserting image data sample into audio file
KR101544019B1 (en) * 2013-06-07 2015-08-13 박종호 Fire detection system using composited video and method thereof
KR101974866B1 (en) * 2017-02-17 2019-05-08 (주)유우일렉트로닉스 Image processing apparatus equipped with a ccd camera and thermo-graphic camera and image processing method using thereof
KR101927870B1 (en) * 2017-04-13 2018-12-12 (주)한성엔지니어링 Apparatus for monitoring distributed data type termal imaging
KR102140657B1 (en) * 2018-11-27 2020-08-03 (주)팍스메디 Resolution correction device of thermal image
KR20200085608A (en) * 2019-01-07 2020-07-15 주식회사 한컴엠디에스 Apparatus and method for indicating temperature based on augmented reality

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101339026B1 (en) 2013-10-14 2013-12-09 (주)유디피 Method and apparatus for thermal camera visibility enhancing
KR101705063B1 (en) 2016-09-26 2017-02-09 (주)큐브이미징시스템즈 Defective pixel detection method and device using memorized position of thermal imaging camera

Also Published As

Publication number Publication date
KR20220160876A (en) 2022-12-06

Similar Documents

Publication Publication Date Title
KR101185712B1 (en) Image processing apparatus, image processing method and computer-readable storage medium storing program
CN111222571B (en) Image special effect processing method and device, electronic equipment and storage medium
US7277584B2 (en) Form recognition system, form recognition method, program and storage medium
KR102644105B1 (en) Method for auto-generation of multi-depth image
JP5653494B2 (en) Cloud assisted rendering
JP2021163482A (en) Method, system, and computer program for extracting and providing text color and background color in image
JP2005151127A5 (en)
JP2004363786A (en) Image processor
KR102591607B1 (en) Image processing method and system using metadata extracted through reverse engineering of thermal image
JP2010102502A (en) Image processing device, image processing method, and program
KR20150089598A (en) Apparatus and method for creating summary information, and computer readable medium having computer program recorded therefor
JP6440604B2 (en) Subject evaluation system, subject evaluation method, subject evaluation program, and recording medium storing the program
KR102644097B1 (en) Method for auto-conversion of multi-depth image
US10509986B2 (en) Image similarity determination apparatus and image similarity determination method
JP5147640B2 (en) Image processing apparatus, image processing method, and program
US10803308B2 (en) Apparatus for deciding whether to include text in searchable data, and method and storage medium thereof
JP6539469B2 (en) Feature quantity extraction apparatus, feature quantity extraction method and program for feature quantity extraction
KR102632640B1 (en) Method and apparatus for pixel-wise matching original contents with target contents
KR102592255B1 (en) Method and system for adjusting viewing angle difference between thermal image data and real image data
KR102104246B1 (en) Image search system using screen segmentaion
JP6031566B1 (en) Feature extraction device, image search device, method, and program
JP6485072B2 (en) Image search apparatus, image search method, and image search program
JP7010538B2 (en) File management device, file management method, and program
JP7088665B2 (en) Search device, search method and search program
KR20230127717A (en) System and method for determining poor occlusion image using locality sensitive hash

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant