WO2019039799A1 - Processing of visual input - Google Patents

Processing of visual input Download PDF

Info

Publication number
WO2019039799A1
WO2019039799A1 PCT/KR2018/009470 KR2018009470W WO2019039799A1 WO 2019039799 A1 WO2019039799 A1 WO 2019039799A1 KR 2018009470 W KR2018009470 W KR 2018009470W WO 2019039799 A1 WO2019039799 A1 WO 2019039799A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
text
electronic device
animation
screen
Prior art date
Application number
PCT/KR2018/009470
Other languages
French (fr)
Korean (ko)
Inventor
강유훈
김종택
Original Assignee
네이버 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020180035734A external-priority patent/KR102026475B1/en
Application filed by 네이버 주식회사 filed Critical 네이버 주식회사
Priority to JP2020509490A priority Critical patent/JP7027524B2/en
Publication of WO2019039799A1 publication Critical patent/WO2019039799A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation

Definitions

  • the following description relates to techniques for processing visual input, and more particularly to techniques for processing visual input that can provide a user interface associated with meaningful and / or meaningful information associated with at least one frame of a video stream that is continuously captured via a camera
  • Korean Patent Laid-Open No. 10-2003-0024786 analyzes an entire image taken by a digital camera in relation to text information, recognizes and interprets the information by an OCR (Optical Character Reader) technique, And / or < / RTI > compressed text codes for transmission.
  • OCR Optical Character Reader
  • An image processing method and system that can provide a user interface associated with meaningful and / or meaningful information associated with at least one frame of a video stream that is continuously captured via a camera, and in combination with a computer,
  • a computer program stored in a computer readable recording medium for causing a computer to execute an image processing method according to the present invention, and a recording medium therefor.
  • An image processing method comprising: driving a camera module in response to entering an image processing mode; Sequentially receiving and sequentially displaying a stream of images through the camera module; Transmitting a stream of the received images to a recognition engine; And displaying the stream of the received images on a screen being displayed sequentially when the recognition result recognized by the recognition engine exists for the stream of the received images. As shown in FIG.
  • An image processing method comprising: receiving an image captured via a camera module of an electronic device through a network; Generating a detaching animation for an object included in the received image; Transmitting the generated detecming animation to the electronic device; Generating an image search result for the received image; And transmitting the generated image search result to the electronic device.
  • a computer program stored in a computer-readable medium for causing a computer to execute the image processing method in combination with a computer.
  • a computer-readable recording medium having recorded thereon a program for causing a computer to execute the image processing method.
  • the computer system comprising: at least one processor configured to execute computer readable instructions, wherein the at least one processor drives a camera module in response to entering an image processing mode, And sequentially transmits the streams of the input images to a recognition engine. When there is a recognition result recognized by the recognition engine for the streams of the received images, And sequentially displaying the streams of the input images on a screen being displayed.
  • a computer-readable medium having computer-executable instructions for performing the steps of: receiving, via the network, an image captured via a camera module of an electronic device by the at least one processor; Generating a detection result for the object, transmitting the generated detec- tion animation to the electronic device, generating an image search result for the received image, and transmitting the generated image search result to the electronic device And performing operations of the computer system.
  • And may provide a user interface associated with meaningful and / or meaningful information associated with at least one frame of the video stream being continuously captured through the camera.
  • FIG. 1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating an internal configuration of an electronic device and a server according to an embodiment of the present invention.
  • FIG. 3 is a diagram showing an example of an execution environment of an image processing system according to an embodiment of the present invention.
  • FIGS. 4 and 5 illustrate examples of providing additional information or additional functions according to OCR recognition in an embodiment of the present invention.
  • 6 to 8 are diagrams illustrating an example of adjusting the font size according to the number of recognized characters in an embodiment of the present invention.
  • FIG. 9 is a diagram illustrating an example of providing an additional function according to bar code recognition in an embodiment of the present invention.
  • FIG. 10 is a diagram illustrating an example of providing an additional function according to QR code recognition in an embodiment of the present invention.
  • 11 to 15 are views showing examples of providing an image search result in an embodiment of the present invention.
  • FIG. 16 is a diagram illustrating examples of providing an image search result in an embodiment of the present invention.
  • FIG. 17 is a diagram illustrating an example of limiting the saturation by extracting a main color in an embodiment of the present invention to be.
  • FIGS. 18 to 20 are views showing examples of providing image search results through a template designed according to a type, in an embodiment of the present invention.
  • FIGS. 21 to 24 illustrate examples of displaying a detecting animation in an embodiment of the present invention.
  • 25 is a diagram showing an example of a detection animation in an embodiment of the present invention.
  • 26 is a diagram showing an example of an image processing method according to an embodiment of the present invention.
  • FIG. 27 is a view showing another example of the image processing method according to the embodiment of the present invention.
  • FIG. 28 is a diagram showing another example of the image processing method according to the embodiment of the present invention.
  • 29 is a flowchart illustrating an example of a method of generating a detaching animation in an embodiment of the present invention.
  • 30 is a diagram showing an example of providing additional information according to place recognition in an embodiment of the present invention.
  • 31 is a diagram showing an example of providing additional information according to recognition of an image code in an embodiment of the present invention.
  • the image processing method according to embodiments of the present invention can be performed through a computer apparatus such as an electronic apparatus and / or a server to be described later.
  • a computer program according to an embodiment of the present invention can be installed and driven in the computer apparatus, and the computer apparatus can perform the image processing method according to an embodiment of the present invention under the control of the computer program that is driven .
  • the above-described computer program may be stored in a computer-readable recording medium for execution by a computer in combination with a computer apparatus to perform an image processing method.
  • 1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention. 1 shows an example in which a plurality of electronic devices 110, 120, 130, 140, a plurality of servers 150, 160, and a network 170 are included. 1, the number of electronic devices and the number of servers are not limited to those shown in FIG.
  • the plurality of electronic devices 110, 120, 130, 140 may be a fixed terminal implemented as a computer device or a mobile terminal.
  • Examples of the plurality of electronic devices 110, 120, 130 and 140 include a smart phone, a mobile phone, a navigation device, a computer, a notebook, a digital broadcast terminal, a PDA (Personal Digital Assistants) ), And tablet PCs.
  • FIG. 1 illustrates the shape of a smartphone as an example of the first electronic device 110, but in the embodiments of the present invention, the first electronic device 110 transmits the network 170 using a wireless or wired communication method.
  • any of a variety of physical computer devices capable of communicating with other electronic devices 120, 130, 140 and / or servers 150 any of a variety of physical computer devices capable of communicating with other electronic devices 120, 130, 140 and / or servers 150,
  • the communication method is not limited, and may include a communication method using a communication network (for example, a mobile communication network, a wired Internet, a wireless Internet, a broadcasting network) that the network 170 may include, as well as a short-range wireless communication between the devices.
  • the network 170 may be a personal area network (LAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN) , A network such as the Internet, and the like.
  • the network 170 may also include any one or more of a network topology including a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree or a hierarchical network, It is not limited.
  • Each of the servers 150 and 160 is a computer device or a plurality of computers that communicate with a plurality of electronic devices 110, 120, 130 and 140 through a network 170 to provide commands, codes, files, Lt; / RTI > devices.
  • the server 150 may be a system that provides a first service to a plurality of electronic devices 110, 120, 130, 140 connected through a network 170, 170, and 140 to the first and second electronic devices 110, 120, 130, and 140, respectively.
  • the server 150 may be a computer program that is installed in a plurality of electronic apparatuses 110, 120, 130, and 140, Mail service, content transfer service, and the like) as a first service to a plurality of electronic devices 110, 120, 130, 140 in addition to the service for image processing, the information providing service, the messaging service,
  • the server 160 may provide a service for distributing a file for installing and running the application to the plurality of electronic devices 110, 120, 130, and 140 as a second service.
  • 2 is a block diagram illustrating an internal configuration of an electronic device and a server according to an embodiment of the present invention. 2 illustrates an internal configuration of the electronic device 1 (110) and the server 150 as an example of the electronic device. Other electronic devices 120, 130, 140 and server 160 may also have the same or similar internal configuration as electronic device 1 110 or server 150 described above.
  • the electronic device 1 110 and the server 150 may include memories 211 and 221, processors 212 and 222, communication modules 213 and 223 and input / output interfaces 214 and 224.
  • the memories 211 and 221 may be a computer-readable recording medium and may include a permanent mass storage device such as a random access memory (RAM), a read only memory (ROM), and a disk drive.
  • the non-decaying mass storage device such as a ROM and a disk drive may be included in the electronic device 110 or the server 150 as a separate persistent storage device different from the memory 211 or 221.
  • the memory 211 and the memory 221 are provided with an operating system and at least one program code (for example, a program installed in the electronic device 1 (110) and used for a browser or an application installed in the electronic device 1 Code) can be stored.
  • These software components may be loaded from a computer readable recording medium separate from the memories 211 and 221.
  • a computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, and a memory card.
  • the software components may be loaded into memory 211, 221 via communication modules 213, 223 rather than a computer readable recording medium.
  • At least one program may be a computer program installed by files provided by a file distribution system (e.g., the server 160 described above) that distributes installation files of developers or applications, May be loaded into the memory 211, 221 based on the application (e.g., the application described above).
  • a file distribution system e.g., the server 160 described above
  • the application e.g., the application described above.
  • Processors 212 and 222 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input / output operations.
  • the instructions may be provided to the processors 212 and 222 by the memories 211 and 221 or the communication modules 213 and 223.
  • the processor 212, 222 may be configured to execute a command received in accordance with a program code stored in a recording device, such as the memory 211, 221.
  • the communication modules 213 and 223 may provide functions for the electronic device 1 110 and the server 150 to communicate with each other through the network 170 and may be provided to the electronic device 1 110 and / May provide a function for communicating with another electronic device (e.g., electronic device 2 120) or another server (e.g., server 160).
  • another electronic device e.g., electronic device 2 120
  • another server e.g., server 160
  • the request generated by the processor 212 of the electronic device 1 110 according to the program code stored in the recording device such as the memory 211 is transmitted to the server 170 via the network 170 under the control of the communication module 213 150 < / RTI > Conversely, control signals, commands, contents, files, and the like provided under the control of the processor 222 of the server 150 are transmitted to the communication module 223 of the electronic device 110 via the communication module 223 and the network 170 213 to the electronic device 1 (110).
  • control signals, commands, contents, files, and the like of the server 150 received through the communication module 213 can be transmitted to the processor 212 or the memory 211, (The above-mentioned persistent storage device), which may further include a storage medium 110.
  • the input / output interface 214 may be a means for interfacing with the input / output device 215.
  • the input device may include a device such as a keyboard or a mouse, and the output device may include a device such as a display, a speaker, and the like.
  • the input / output interface 214 may be a means for interfacing with a device having integrated functions for input and output, such as a touch screen.
  • the input / output device 215 may be composed of the electronic device 1 (110) and one device.
  • the input / output interface 224 of the server 150 may be a means for interfacing with the server 150 or an interface with a device (not shown) for input or output that the server 150 may include.
  • the configuration is performed using the data provided by the server 150 or the electronic device 2 (120)
  • a service screen or contents can be displayed on the display through the input / output interface 214.
  • electronic device 1 110 and server 150 may include more components than the components of FIG. However, there is no need to clearly illustrate most prior art components.
  • electronic device 1 110 may be implemented to include at least a portion of input / output devices 215 described above, or may be implemented with other components such as a transceiver, Global Positioning System (GPS) module, camera, Elements. More specifically, when the electronic device 1 (110) is a smart phone, the acceleration sensor, the gyro sensor, the camera module, various physical buttons, buttons using a touch panel, input / output ports, A vibrator, and the like may be further included in the electronic device 1 (110).
  • GPS Global Positioning System
  • 3 is a diagram showing an example of an execution environment of an image processing system according to an embodiment of the present invention.
  • electronic device 1 110 includes a camera module 310, an OCR recognition engine 320, a barcode recognition engine 330 and a QR code recognition engine 340 and the server 150 includes an image search engine 350 and a detec- tion animation generation engine 360 are shown.
  • the detec- tion animation generation engine 360 may be included in the first electronic device 110 according to the embodiment.
  • Each of the engines 320 to 360 may be implemented in the form of a software module.
  • the OCR recognition engine 320, the barcode recognition engine 330, and the QR code recognition engine 340 included in the electronic device 1 (110) are provided by an application installed and driven in the electronic device 1 (110) It can be a functional expression.
  • the processor 212 of the electronic device 110 may perform operations according to the OCR recognition engine 320, the barcode recognition engine 330, and the QR code recognition engine 340 according to an application code.
  • the image search engine 350 and the detection animation generation engine 360 included in the server 150 may be implemented in the form of a software module, and may be a functional expression provided by a computer program running on the server 150 .
  • the processor 222 of the server 150 may perform operations according to the image search engine 350 and the detection animation generation engine 360 according to the code of the computer program.
  • the OCR recognition engine 320 may recognize one or more characters and / or numbers within the image.
  • the barcode recognition engine 330 can recognize the barcode in the image.
  • the QR code recognition engine 340 can recognize the QR code in the image.
  • the image search engine 350 may receive an image as input and return various search results (image, text, etc.) associated with the image.
  • Detecting animation generation engine 360 may generate and provide a detaching animation for visually expressing the process of searching for an object in the image. Such detec- ting animation can be utilized as an effect to induce a user's interest while waiting for a search result and give a feeling that the search result is not delayed.
  • the electronic device 1 110 can drive the camera module 310 and the camera module 310 can be operated without any additional input from the user.
  • the barcode recognition engine 330 and the QR code recognition engine 340 To the inputs of the OCR recognition engine 320, the barcode recognition engine 330 and the QR code recognition engine 340.
  • Each of the OCR recognition engine 320, the bar code recognition engine 330 and the QR code recognition engine 340 sequentially analyzes the images (frames) of the input image stream and generates a corresponding object , A number, a bar code, a QR code, etc.).
  • the OCR recognition engine 320 may sequentially analyze images included in the image stream to attempt recognition of characters and / or numbers contained within the image, and may return recognized characters and / or numbers .
  • the electronic device 1 (110) may display the returned characters and / or numbers on the screen, and may provide additional information or additional functions associated with the displayed characters and / or numbers.
  • the electronic device 110 provides a user interface for accessing a translation function capable of translating the recognized first language character into a character of another language .
  • the electronic device 110 may provide a user interface for accessing a search function that uses the returned characters and / or numbers as a keyword.
  • the electronic device 1 (110) may automatically perform a search using a character and / or a number, which are returned, and provide the search result.
  • the barcode recognition engine 330 can sequentially analyze the images included in the image stream to attempt to recognize the barcode included in the image, and to return information on the recognized barcode.
  • the electronic device 1 (110) may provide additional information or additional functions associated with the returned information. For example, the electronic device 1 (110) searches the information on the returned barcode (for example, information on a book or wine corresponding to the barcode) corresponding to the barcode and returns the search result as additional information .
  • the electronic device 1 (110) may provide a user interface for accessing information corresponding to the bar code.
  • the QR code recognition engine 340 can sequentially analyze the images included in the image stream to attempt to recognize the QR code included in the image, and to return information on the recognized QR code.
  • the electronic device 1 (110) may provide additional information or additional functions associated with the returned information.
  • the electronic device 110 provides information (e.g., information corresponding to the URL included in the QR code) corresponding to the recognized QR code as additional information, or provides information corresponding to the recognized QR code And may provide a user interface for accessing information.
  • the electronic device 1 110 drives the camera module 310 without any additional input from the user, and the image provided through the camera module 310
  • the search for objects such as letters, numbers, barcodes, QR codes, etc. can be performed automatically, and additional information or additional functions related to the searched objects can be automatically provided.
  • the electronic device 1 (110) generates a user input through a predetermined user interface such as a selection of a user's photographing button (for example, a user touches an area of a photographing button displayed on the touch screen in a touch screen environment) Can be monitored.
  • a predetermined user interface such as a selection of a user's photographing button (for example, a user touches an area of a photographing button displayed on the touch screen in a touch screen environment) Can be monitored.
  • the process 370 monitors whether a user input is generated and, when a user input occurs, the captured image is transmitted to the server 150 according to user input. 2
  • the electronic device 1 110 may transmit the captured image via the network 170 to the server 150 using the communication module 213, and the server 150 may transmit the captured image via the network 170 to the server 150, May receive the captured image transmitted via the network 170 via the communication module 223.
  • the server 150 may provide the delivered image to the image search engine 350 and the detection animation generation engine 360, respectively.
  • the image search engine 350 may receive the captured image captured by the first electronic device 110, and may return various search results associated with the image. For example, the image search engine 350 may recognize an object included in the image and search for and return an image, document, text, or the like related to the recognized object. As a more specific example, when a puppy included in the image is recognized and the puppy of the recognized dog is analyzed as a 'retriever', a search result such as an image or a document related to the 'retriever' can be generated and returned.
  • the server 150 may transmit the retrieved search result to the electronic device 110 through the network 170 and the electronic device 110 may provide the search result to the user.
  • the electronic device 1 110 not only receives the image but also the time when capturing the image, the current position of the electronic device 110, information of the user of the electronic device 110, and the like to the server 150 It may be further transmitted.
  • the server 150 may provide search results based on at least one of location, time, and user information. For example, a search result related to a user's current position or a search result related to time among various search results associated with an image can obtain a priority for exposure of the search result.
  • the detec- tion animation generation engine 360 may generate a detec- tion animation for visually expressing a process of capturing an image captured by the electronic device 110 and receiving the received image as input and searching for an object in the image.
  • the server 150 may transmit the generated detecting animation to the first electronic device 110 via the network 170 and may associate the detected animation with the corresponding image for a predetermined time
  • the user of the electronic device 1 110 waits for the search result (the search result returned through the image search engine 350 described above and provided to the electronic device 1 110 at the server 150) And can be utilized as an effect to give an impression that the search result is not delayed.
  • Such a detecting animation may basically consist of a plurality of points of a position related to an object to be searched in the image and a line connecting these points and a representation of the lines connecting the points is displayed as an animation effect .
  • the thickness, size, brightness, color, etc. of dots and lines may be changed to provide an additional animation effect.
  • embodiments may be considered in which the lines formed by the lines connecting the points and the points are displayed in different colors to give a three-dimensional effect or curved lines connecting the points. This detecting animation will be described in more detail later.
  • FIGS. 4 and 5 illustrate examples of providing additional information or additional functions according to OCR recognition in an embodiment of the present invention.
  • FIG. 4 shows screen examples 410 to 440 of the electronic device 1 (110). 3, an image stream captured through the camera module 310 is automatically transmitted to the OCR recognition engine 320, and the OCR recognition engine 320 real-time recognizes characters As shown in FIG.
  • the color of the recognized character is changed and displayed on the image, and the T (TEXT) character recognition button is exposed.
  • the third screen example 430 shows an example in which functions related to recognized characters such as copying, translation, and reading of recognized characters are provided by selecting the T character recognition button.
  • the copy function may be a function for copying recognized characters to the clipboard.
  • the translation function may be a function for translating a recognized first language character into a second language character.
  • the reading function may be a function of reading the recognized first character, or may be a function of generating and outputting audio corresponding to the first character.
  • the fourth screen example 440 shows an example in which characters of the first language recognized as the user selects the translation function are translated and displayed as characters of the second language.
  • the detail view function displayed in the fourth screen example 440 may provide additional contents such as a language dictionary search result for the recognized first language character, a search result using the recognized first language character as a keyword, or the like It may be a function for landing on a separate translation result page. Further, if the recognition is not performed correctly or the translation result is not the desired result, a handwriting search function for proceeding with the search using the handwriting recognition function button may be further provided.
  • the first screen example 510 shows an example in which an image is displayed on the screen before recognition of text (characters and / or numbers).
  • the second screen example 520 shows an example in which recognized text is displayed at a position similar to the position of the text in the image as the text is recognized.
  • the third screen example 530 shows an example in which the recognized text is reconstructed and displayed so that the user can easily understand it. At this time, the third screen example 530 shows an example in which the image is darkened so that the recognized text can be expressed better. In the third screen example 530, an example of providing additional functions such as a copying function, a translation function, and a reading function in association with the recognized text is described.
  • the texts displayed in the second screen example 520 and the third screen example 530 may have an animation effect such as an animation effect such as a color change, a three-dimensional change in a two-dimensional frame in which texts are displayed, It may be displayed together.
  • an animation effect such as a color change, a three-dimensional change in a two-dimensional frame in which texts are displayed, It may be displayed together.
  • 6 to 8 are diagrams illustrating an example of adjusting the font size according to the number of recognized characters in an embodiment of the present invention.
  • FIG. 6 shows an example of displaying text recognized as 80 px size when the recognized number of characters is 1 to 6 characters.
  • FIG. 7 shows an example of displaying a text recognized as a 60px size when the recognized number of characters is 7 to 40 characters.
  • FIG. 8 shows an example of displaying a text recognized as a 40px size when the recognized number of characters is 41 or more.
  • the electronic device 1 (110) automatically adjusts the size of the displayed character.
  • FIG. 9 is a diagram illustrating an example of providing an additional function according to bar code recognition in an embodiment of the present invention.
  • the first screen example 910 shows an example in which an image including a bar code is displayed and the second screen example 920 shows an example in which a bar code button is exposed as a bar code is recognized by the bar code recognition engine 330 .
  • product information for example, book information, wine information, and the like
  • product information for example, book information, wine information, and the like
  • FIG. 10 is a diagram illustrating an example of providing an additional function according to QR code recognition in an embodiment of the present invention.
  • FIG. 10 shows screen examples 1010 and 1020 of the electronic device 1 (110).
  • an image including a QR code is displayed.
  • a QR code button is exposed as the QR code is recognized by the QR code recognition engine 340 For example.
  • the page of the URL included in the QR code can be landed.
  • 11 to 15 are views showing examples of providing an image search result in an embodiment of the present invention.
  • the first screen example 1110 shows an example in which an image is displayed
  • the second screen example 1120 shows an example in which an object is searched in an image.
  • the image can be transmitted to the server 150 as the user presses the photographing button.
  • the image retrieval engine 350 and the detec- tion animation generation engine 360 can perform image retrieval and detection animation Can be generated.
  • the second screen example 1120 receives a detecting animation composed of lines connecting the plurality of dots and points from the server 150 and displays it on the screen to visually detect that the dog is searching for a face As shown in FIG.
  • the third screen example 1130 shows an example in which "dog" and "labrador retriever” are displayed as text information (associated keywords) related to the searched object, and image search results for the image are further displayed.
  • the text information and the image search result may be provided through the server 150.
  • a text search result using the corresponding text information as a keyword may be provided to the user.
  • a page corresponding to the search result may be landed.
  • the first screen example 1210 shows an example in which an image is displayed and the second screen example 1220 and the third screen example 1230 show a detaching animation composed of lines connecting a plurality of dots and points, And an example of a process of visually informing the user that the fish is being searched.
  • the third screen example 1240 shows an example in which "aquarium fish" and "Asian arowana” are displayed as text information (associated keywords) related to the searched object, and image search results for the image are further displayed.
  • FIGS. 13 to 15 also show examples of processes for providing image search results as shown in FIGS. 11 and 12.
  • FIG. 13 illustrates a process of recognizing an object through detec- tion along a contour line of a flower, providing a detec- tion animation and an image search result
  • FIG. 14 illustrates a process of recognizing an object by detecting a cat face along an outline
  • FIG. 15 illustrates the process of providing an animation and an image search result
  • FIG. 15 illustrates a process of recognizing an object by detecting an Eiffel tower along an outline line, and providing a detecting animation and an image search result.
  • FIG. 16 is a diagram illustrating examples of providing an image search result in an embodiment of the present invention.
  • FIG. 17 is a diagram illustrating an example of limiting the saturation by extracting a main color in an embodiment of the present invention to be.
  • FIG. 16 shows an example of extracting a main color of an image using an auto technique and utilizing the extracted main color for exposure of a related keyword or an image search result.
  • the saturation (S) and the brightness (B) values may be limited to a range of 50 to 70% in the hue-saturation-brightness (HSB) value in consideration of the visibility of the text.
  • FIG. 17 shows an example in which the main color is extracted using a color picker to limit the saturation value to 50%.
  • FIGS. 18 to 20 are views showing examples of providing an image search result in an embodiment of the present invention.
  • Figures 18 to 20 illustrate the results of a method of determining whether a person is a member of a group of persons, such as "person_domain”, “person_group”, “person_outside”, “ And “ Domestic Place “, and the like, the specific search result of the image search result is implemented in the form of the correct answer card through the template designed in advance according to various types.
  • the saturation or brightness value of the HSV (Hue-Saturation-Brightness) value may be limited to 50 to 70% in view of the visibility of the text.
  • FIGS. 21 to 24 illustrate examples of displaying a detecting animation in an embodiment of the present invention.
  • the method of generating the detection animation is as follows.
  • a detection animation generation method may be performed by the detection animation generation engine 360 described above.
  • Preprocessing process Performing the pre-processing required for image search such as grayscale, blurring, and edge detection.
  • (2) Object Detection The process of searching for an object in the input image and creating a bounding box containing the object.
  • a well-known object search technique can be used to search for an object, and the following process can be performed on the generated bounding box area.
  • a convex polygon including all of the feature points may be generated as a convex hole, and the generation of the convex hole may be generated through a known algorithm.
  • the point constituting the convex hole does not reach a predetermined number (for example, 6), proceeding to an additional step to add points until the necessary number is reached.
  • a predetermined number for example, 6
  • it can be used as a point for constructing a convex hole by selecting a feature point closest to the middle between two points constituting a convex hole.
  • the process of generating the detecting animation according to the processes (1) to (9) may be modified into various forms according to the design as one embodiment.
  • FIG. 21 shows a detecting animation having a triangle structure by connecting points of a convex hole and a depth 3, which are composed of five points. More specifically, FIG. 21 shows a case in which pentagonal dots are formed and connected to an outline of an object which is a convex hole, two dots of depth are formed and connected to pentagonal dots, a left and a right of two dots of depth are connected, An example of generating a detecting animation form by vertically connecting two dots of depth and three dots of depth is shown. At this time, an example in which the depth 2 dots are formed at one-third of the line connecting the center of the connecting line between the pentagonal dots and the center point (depth 3 dots) is shown.
  • FIG. 22 shows a detecting animation having a triangle and a quadrilateral structure by connecting points of a convex hole and a depth 3, which are composed of nine dots.
  • the color difference between the contour dot (nine points constituting the convex hole) and the center dot (center point) is not less than a predetermined value (for example, 20 or more from the B value of the starting point RGB value of the contour dot
  • a dot having the closest distance between the dots of the upper and lower depths is connected to generate a detecting animation form.
  • FIGS. 23 and 24 examples of varying the color of the triangular structure to give a three-dimensional effect and simultaneously controlling the transparency are shown.
  • FIG. 23 shows an example in which the transparency in the triangular structure is higher in FIG.
  • FIG. 25 is a diagram showing an example of a detection animation in an embodiment of the present invention.
  • FIG. 25 is a view showing a result of the detection of the animation of the Epithelial Top described with reference to FIG. 15, as a result of repeating display of lines connecting points and dots as shown in FIG. 25, It can be utilized as an effect for inducing the user's interest while waiting for the search result and giving the user the feeling that the search result is not delayed.
  • the detecting animation may change the thickness, size, brightness, color, etc. of dots and lines to give additional animation effects.
  • FIGS. 23 and 24 By applying differently, it is possible to determine the extent to which the image is displayed by giving a three-dimensional effect or adjusting the transparency of the color.
  • FIG. 26 is a flowchart showing an example of an image processing method according to an embodiment of the present invention.
  • the image processing method according to the present embodiment can be performed by a computer apparatus such as the above-described electronic apparatus 1 (110).
  • the processor 212 of the electronic device 1 110 may be implemented to execute a control instruction according to code of an operating system included in the memory 211 or code of at least one computer program.
  • the processor 212 controls the electronic device 1 (110) to perform the steps 2610 to 2640 included in the image processing method of FIG. 26 according to the control command provided by the code stored in the electronic device 1 (110) It is possible to control the device 1 (110).
  • the computer device may drive the camera module in response to entering the image processing mode.
  • an application installed on a computer device may provide a user interface for entering the image processing mode to the user.
  • the computer device can drive the camera module according to the entering image processing mode according to the generated input.
  • the computer device may sequentially receive and sequentially display a stream of images through the driven camera module. For example, when a camera is operated in a smartphone, an image input through a camera and displayed in real time on a screen of a smartphone may correspond to a stream of such images.
  • the computer device may deliver a stream of received images to the recognition engine.
  • the camera module can deliver a continuous stream of images to the recognition engine on a continuous and real-time basis, and the recognition engine can analyze the stream of images to generate the recognition results desired by the recognition engine.
  • electronic device 1 110 includes a text recognition engine, such as OCR recognition engine 320, and image code recognition engines, such as bar code recognition engine 330 and QR code recognition engine 340, An example of including this has been described.
  • the computer device may further display the stream of the received images on the screen being displayed sequentially.
  • the recognition engine may include a text recognition engine that recognizes text included in the images received as recognition results.
  • the computer device can dynamically adjust the display position of the recognized text based on the position of the text area recognized in the input images in step 2640 have.
  • the first screen example 410 of FIG. 4 shows an example in which recognized text is displayed at a location of an area containing text in an image.
  • the second screen example 520 of FIG. 5 an example in which recognized text is displayed at a position similar to a position in the image of the text as the text is recognized is described.
  • the computer device such as a smart phone shakes in the user's hand, the position of the same text area in the received images may be continuously changed.
  • the computer device can dynamically adjust the display position of the text so that the recognized text can be displayed at the tracked position by tracking the position of the text area as the position of the text area is changed.
  • the computer device displays the recognized text on the screen sequentially displaying the streams of the input images, wherein the text of the input images is based on the position of the text area in the recognized image
  • the display position of the recognized text can be determined.
  • the computer device dynamically adjusts the display position of the recognized text as the position of the text area is changed, and when the recognition of the text is finally completed, The text can be displayed.
  • the display position of the recognized text may be fixed even if the position of the text area continuously changes in the received images or other images without text are continuously input.
  • the computer device may further display a stream of input images on a screen being displayed sequentially, through a user interface for user confirmation of the recognized text with respect to a stream of inputted images.
  • the computer device can finally process the process of receiving the user's confirmation of the recognized text.
  • the second screen 420 shown in FIG. 4 shows an example of displaying a user interface for confirming a recognized text such as a character recognition button. At this time, a stream of images may still be displayed in real time on the screen of the computer device.
  • the computer device can display an image displaying the text of the received images on the screen. For example, if the text recognized by the user is recognized through the first image of the input images, the computer device may display the first image that has already been displayed on the screen instead of displaying the stream of images on the screen.
  • the computer device may further display at least one of a user interface for copying the recognized text on the image displayed on the screen and a user interface for the translation of the recognized text.
  • FIGS. 4 and 5 show examples of user interfaces for copying and translating recognized text, such as a 'Copy' button and a 'Translation' button.
  • the computer device may dynamically change the size of the recognized text according to the number of characters of the recognized text, and display the changed size on the screen. For example, in FIGS. 6 to 8, an example has been described in which the recognized text is dynamically reduced and displayed on the screen as the number of characters in the recognized text increases.
  • the recognition engine may include an image code recognition engine for recognizing the image code included in the received images.
  • the computer device displays a stream of images sequentially received as a recognition result of the link to the page corresponding to the recognized image code in the images sequentially displayed on the screen in step 2640, can do.
  • FIG. 9 shows an example of displaying a link to a page corresponding to a recognized bar code through a 'barcode' button.
  • a link to a page corresponding to the recognized QR code is referred to as a 'QR code' Button is displayed.
  • the recognition engine may comprise a plurality of recognition engines, such as a text recognition engine and an image code recognition engine, in which case a stream of images input via the camera module may be input to each of a plurality of recognition engines .
  • the steps 2610 to 2640 described above may be performed in such a manner that the computer device automatically recognizes text, image codes, and the like through a stream of images input through the camera before the user's photographing through the camera is performed An embodiment is described. In other words, in response to entering the image processing mode, even if the user does not select an image at a specific point in time by pressing the photographing button, the recognition result for the text or image code can be automatically provided have.
  • the computer device can provide the user with a function different from the previous embodiment.
  • FIG. 27 is a view showing another example of the image processing method according to the embodiment of the present invention.
  • the image processing method according to the present embodiment can also be performed by a computer apparatus such as the electronic apparatus 1 (110) described above. Steps 2710 through 2750 of FIG. 27 may be performed after the step 2620 of FIG. 26, when a shooting input occurs, and when steps of FIG. 27 are performed, steps 2630 and 2640 ) May be omitted.
  • step 2710 when a shooting input occurs during the sequential display of a stream of input images, the computer device may capture an image associated with the shooting input occurrence time and display the captured image on the screen.
  • This step 2710 may refer to a process of taking a picture according to the occurrence of a photographing input by a user.
  • the computer device may send the captured image to the server.
  • the server may correspond to a computer device such as the server 150 described above, and the captured image may be transmitted to the server via the network 170.
  • the computer device may receive a detaching animation for an object included in the image transmitted from the server.
  • the detection animation may include an animation that displays a plurality of feature points extracted from an outline of an object at a position on an extracted image of a plurality of feature points, and connects at least some feature points of the displayed feature points with lines .
  • the computing device may display the detection animation in association with the object. Examples of displaying the detection animation in association with the object on the screen have been described with reference to Figs. 11 to 15, and Figs. 21 to 25. Fig.
  • the computer device receives the image analysis result of the image transmitted from the server and displays the image analysis result in association with the image displayed on the screen.
  • the image analysis result may include a kind and / or name of an object included in the image, and may further include at least one of images, documents, and text retrieved from the server in association with the object.
  • FIG. 28 is a diagram showing another example of the image processing method according to the embodiment of the present invention.
  • the image processing method according to the present embodiment can be performed by a computer apparatus such as the server 150 described above.
  • the processor 222 of the server 150 may be implemented to execute control instructions in accordance with the code of the operating system or the code of at least one computer program that the memory 221 contains.
  • the processor 222 determines whether the server 150 performs the steps 2810 through 2850 included in the image processing method of FIG. 28 in accordance with the control command provided by the code stored in the server 150 Can be controlled.
  • the computer device may receive the captured image via the camera module of the electronic device over the network.
  • the electronic device may correspond to the electronic device 1 (110) described above, and the received image may correspond to the image transmitted in step 2720 of FIG.
  • the server 150 can receive the image in step 2810.
  • the computing device may generate a detaching animation for the object that the received image contains.
  • the detection animation may include an animation that displays a plurality of feature points extracted from an outline of an object at a position on the extracted image of the plurality of feature points, and connects at least some of the feature points of the displayed feature by lines. have.
  • the computer device may transmit the generated detecting animation to the electronic device.
  • the electronic device may receive the detection animation and display the received detection animation in association with the object on the screen, as in step 2740.
  • the computer device may generate an image search result for the received image.
  • the image search result may include the type and / or name of an object included in the image, and may further include an image, document and / or text retrieved in association with the object.
  • the computer device may send the generated image search results to the electronic device.
  • the type and / or the name of the object may overlap with the image input through the camera of the electronic device and displayed on the screen of the electronic device.
  • the retrieved image, document and / or text may be further displayed on the screen of the electronic device in association with the image input through the camera module of the electronic device, including a link to the corresponding page.
  • Figure 12 shows the types and names of recognized objects, such as 'ornamental language' and 'Asian arowana', and further associates images, documents and / or text with images as a result of an Internet search through images Is displayed.
  • the computer device may implement the information retrieved through the template designed in advance for each type according to the type of the information retrieved in association with the object included in the received image, in the form of a card, and provide the retrieved information to the electronic device.
  • Figs. 18 to 20 illustrate examples of the types of information (person_domain, person_group, person_outside, bag_ animal, bag_furniture, bag_wine, spot, area, domestic_place, etc.)
  • There is a pre-designed template and information retrieved through a template of the type according to the type of the retrieved information is implemented and provided in the form of a card.
  • the type and / or the name of the object displayed on the electronic device is selected (for example, the user touches the area where the type and / or the name of the object is displayed in the touch screen environment with the finger)
  • the generated signal can be transmitted to the server via the network.
  • the computer device can receive the corresponding signal, and in response to receiving the signal, the text search result can be generated by using the type or name of the object as a keyword.
  • the computer device can provide the generated text search result to the electronic device.
  • the user of the electronic device can receive sequentially the text search result on the text obtained through the image, in addition to the image search result on the image.
  • 29 is a flowchart illustrating an example of a method of generating a detaching animation in an embodiment of the present invention.
  • the steps 2910 to 2950 included in the method of the present embodiment may be performed in step 2820 of Fig.
  • the computer device may search for an object that the received image contains. For example, the computer device performs a preprocessing operation required for image search such as grayscale, blurring, and edge detection on a received image, and then searches for an object in the image and creates a bounding box including the object Can be generated. Searching for these objects can generally be done using well-known object search techniques.
  • the computing device may extract a plurality of feature points from the contour of the object. For example, a predetermined number of feature points (e.g., several hundreds) can be extracted using a Feature from Accelerated Segment Test (FAST) algorithm.
  • FAST Accelerated Segment Test
  • the computer device may generate a convex hull for the extracted feature points.
  • a convex hole can be generated from minutiae extracted through the convex hole algorithm. If the point for constructing the convex hole does not reach the predefined number, the feature points may be further extracted.
  • the computer device may calculate a center point based on the center coordinates of a predetermined number of outline points constituting the convex hole among the extracted minutiae points. For example, the points of the outer points constituting the convex hole (the average of the X coordinate value and the average of the Y coordinate value) can be calculated centrally.
  • the computer device may select feature points that are closest to the midpoint between each of the outline points and the midpoint among the feature points of the object.
  • the selected minutiae can be used again as outer minus points to obtain the center point, and then the inner minus points can be added by selecting the minutiae points between the outer points and the center point.
  • FIG. 21 shows an example in which a detecting animation having a triangular structure is formed by connecting points of a convex hole and a depth 3 which are composed of five points.
  • the generated detection animation may be transmitted to the electronic device as in step 2830 of FIG. 28 and may be displayed on the screen of the electronic device in association with the object in the electronic device, such as in step 2740 of FIG. 27 .
  • the computer device may transmit information on the coordinates of the selection points including the outer points, the center point and the closest minutiae points, and the order of connecting the selection points by lines to the electronic device as a detecting animation.
  • the electronic device may display a line through the information of the coordinates of the selected points, and may display an animation connecting the selected points with lines according to the information on the sequence.
  • the computer device may also transmit the animation itself connecting the selection points in this order to the electronic device as a detection animation. In this case, the electronic device can display the detection animation by reproducing the animation in association with the object.
  • 30 is a diagram showing an example of providing additional information according to place recognition in an embodiment of the present invention.
  • 30 shows screen examples 3010 and 3020 of the electronic device 1 (110).
  • the first screen example 3010 shows an example in which information (for example, a text such as mutual or a picture corresponding to a specific name, etc.) capable of identifying a specific place such as a signboard of a shop is displayed on the image.
  • information for example, a text such as mutual or a picture corresponding to a specific name, etc.
  • an image stream captured through the camera module 310 may be automatically delivered to the OCR recognition engine 320 and recognized by the OCR recognition engine 320 in real time.
  • the electronic device 1 (110) can determine whether the recognized character is information for identifying a specific place according to the control of the application.
  • the electronic device 110 may transmit the recognized character or the image shown in the first screen example 3010 to the server 150.
  • the server 150 can obtain a more accurate place identifier, and can extract metadata of the place (for example, mutual, business type, description, etc., in the case of a store) and transmit it to the electronic device 1 (110).
  • the second screen example 3020 shows an example where the metadata of the place provided from the server 150 is displayed on the screen in the form of an upper notification bar 3021. At this time, a link to a URL related to the place may be set in the upper notification bar 3021.
  • the electronic device 1 (110) may analyze the image displayed in the first screen example (3010) according to the control of the application to determine whether the image is an image for a specific place.
  • the electronic device 1 110 roughly analyzes the image to determine whether or not the image is a specific place, and then transmits the image to the server 150 so that an identifier of a more accurate place can be extracted through the server 150 Lt; / RTI >
  • FIG. 31 is a diagram showing an example of providing additional information according to recognition of an image code in an embodiment of the present invention.
  • the QR code button is exposed as the electronic device 1 (110) recognizes the QR code and the user selects the exposed QR code button, an example in which the page of the URL included in the QR code is landed .
  • the first screen example 3110 shows an example in which an image including a QR code is displayed.
  • the second screen example 3120 obtains the metadata of the URL included in the recognized QR code as the QR code is recognized by the QR code recognition engine 340 from the server 150, As shown in Fig.
  • a link to a URL included in the QR code may be set in the upper notification bar 3121.
  • the metadata of the related product can be obtained from the server 150 in the form of an upper notification bar in addition to the QR code as well as the bar code.
  • the link set in the upper notification bar may be a page associated with the purchase of the related product.
  • the metadata displayed in the upper notification bar is information included in a page provided through a URL included in the image code, and may include various information such as a URL, a moving image, an image, a description, and the like.
  • embodiments of the present invention may provide a user interface associated with meaningful and / or meaningful information associated with at least one frame of a video stream that is continuously captured through a camera.
  • the system or apparatus described above may be implemented as a hardware component, a software component or a combination of hardware components and software components.
  • the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions.
  • the processing device may execute an operating system (OS) and one or more software applications running on the operating system.
  • the processing device may also access, store, manipulate, process, and generate data in response to execution of the software.
  • OS operating system
  • the processing device may also access, store, manipulate, process, and generate data in response to execution of the software.
  • the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG.
  • the processing unit may comprise a plurality of processors or one processor and one controller.
  • Other processing configurations are also possible, such as a parallel processor.
  • the software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded.
  • the software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device As shown in FIG.
  • the software may be distributed over a networked computer system and stored or executed in a distributed manner.
  • the software and data may be stored on one or more computer readable recording media.
  • the method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination.
  • the medium may be one that continues to store computer executable programs, or temporarily store them for execution or download.
  • the medium may be a variety of recording means or storage means in the form of a combination of a single hardware or a plurality of hardware, but is not limited to a medium directly connected to a computer system, but may be dispersed on a network.
  • Examples of the medium include a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical recording medium such as CD-ROM and DVD, a magneto-optical medium such as a floptical disk, And program instructions including ROM, RAM, flash memory, and the like.
  • a recording medium or a storage medium managed by a site or a server that supplies or distributes an application store or various other software to distribute the application may be mentioned.
  • Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.

Abstract

A technology for processing a visual input is provided. An image processing method according to an embodiment may provide meaningful information associated with at least one frame of an image stream continuously captured through a camera, and/or a user interface associated with the meaningful information.

Description

시각적 입력의 처리Processing of visual input
아래의 설명은 시각적 입력의 처리를 위한 기술에 관한 것으로 보다 자세하게는, 카메라를 통해 연속적으로 캡쳐되는 영상 스트림의 적어도 하나의 프레임과 관련된 유의미한 정보 및/또는 유의미한 정보와 연관된 사용자 인터페이스를 제공할 수 있는 이미지 처리 방법 및 시스템, 그리고 컴퓨터와 결합되어 본 발명의 실시예들에 따른 이미지 처리 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램과 그 기록매체에 관한 것이다.The following description relates to techniques for processing visual input, and more particularly to techniques for processing visual input that can provide a user interface associated with meaningful and / or meaningful information associated with at least one frame of a video stream that is continuously captured via a camera An image processing method and system, and a computer program stored in a computer-readable recording medium for causing a computer to execute an image processing method according to embodiments of the present invention in combination with a computer, and a recording medium therefor.
이미지와 같은 시각적 입력을 처리하기 위한 다양한 종래기술들이 존재한다. 예를 들어, 한국공개특허 제10-2003-0024786호는 디지털 카메라로 찍은 전체의 이미지를 텍스트 정보와 관련하여 분석하고, 상기 정보를 OCR(Optical Character Reader) 기술 등에 의해 인식하고 해석하여 추가의 처리 및/또는 전송을 위해 압축된 텍스트 코드로 저장하는 기술을 개시하고 있다. Various prior art techniques exist for processing visual input such as images. For example, Korean Patent Laid-Open No. 10-2003-0024786 analyzes an entire image taken by a digital camera in relation to text information, recognizes and interprets the information by an OCR (Optical Character Reader) technique, And / or < / RTI > compressed text codes for transmission.
카메라를 통해 연속적으로 캡쳐되는 영상 스트림의 적어도 하나의 프레임과 관련된 유의미한 정보 및/또는 유의미한 정보와 연관된 사용자 인터페이스를 제공한다.And provides a user interface associated with meaningful and / or meaningful information associated with at least one frame of the video stream that is continuously captured via the camera.
카메라를 통해 연속적으로 캡쳐되는 영상 스트림의 적어도 하나의 프레임과 관련된 유의미한 정보 및/또는 유의미한 정보와 연관된 사용자 인터페이스를 제공할 수 있는 이미지 처리 방법 및 시스템, 그리고 컴퓨터와 결합되어 본 발명의 실시예들에 따른 이미지 처리 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램과 그 기록매체를 제공한다.An image processing method and system that can provide a user interface associated with meaningful and / or meaningful information associated with at least one frame of a video stream that is continuously captured via a camera, and in combination with a computer, A computer program stored in a computer readable recording medium for causing a computer to execute an image processing method according to the present invention, and a recording medium therefor.
이미지 처리 방법에 있어서, 이미지 처리 모드로 진입함에 응답하여 카메라 모듈을 구동하는 단계; 상기 구동된 카메라 모듈을 통해 연속적으로 이미지들의 스트림을 입력받아 순차적으로 화면에 표시하는 단계; 상기 입력받은 이미지들의 스트림을 인식 엔진으로 전달하는 단계; 및 상기 입력받은 이미지들의 스트림에 대해 상기 인식 엔진에 의해 인식된 인식 결과가 존재하는 경우, 상기 인식 결과를 상기 입력받은 이미지들의 스트림을 순차적으로 표시 중인 화면 상에 더 표시하는 단계를 포함하는 것을 특징으로 하는 이미지 처리 방법을 제공한다.An image processing method, comprising: driving a camera module in response to entering an image processing mode; Sequentially receiving and sequentially displaying a stream of images through the camera module; Transmitting a stream of the received images to a recognition engine; And displaying the stream of the received images on a screen being displayed sequentially when the recognition result recognized by the recognition engine exists for the stream of the received images. As shown in FIG.
이미지 처리 방법에 있어서, 전자 기기의 카메라 모듈을 통해 캡쳐된 이미지를 네트워크를 통해 수신하는 단계; 상기 수신된 이미지가 포함하는 객체에 대한 디텍팅 애니메이션을 생성하는 단계; 상기 생성된 디텍팅 애니메이션을 상기 전자 기기로 전송하는 단계; 상기 수신된 이미지에 대한 이미지 검색 결과를 생성하는 단계; 및 상기 생성된 이미지 검색 결과를 상기 전자 기기로 전송하는 단계를 포함하는 것을 특징으로 하는 이미지 처리 방법을 제공한다.An image processing method comprising: receiving an image captured via a camera module of an electronic device through a network; Generating a detaching animation for an object included in the received image; Transmitting the generated detecming animation to the electronic device; Generating an image search result for the received image; And transmitting the generated image search result to the electronic device.
컴퓨터와 결합되어 상기 이미지 처리 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공한다.There is provided a computer program stored in a computer-readable medium for causing a computer to execute the image processing method in combination with a computer.
상기 이미지 처리 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록매체를 제공한다.There is provided a computer-readable recording medium having recorded thereon a program for causing a computer to execute the image processing method.
컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서에 의해, 이미지 처리 모드로 진입함에 응답하여 카메라 모듈을 구동하고, 상기 구동된 카메라 모듈을 통해 연속적으로 이미지들의 스트림을 입력받아 순차적으로 화면에 표시하고, 상기 입력받은 이미지들의 스트림을 인식 엔진으로 전달하고, 상기 입력받은 이미지들의 스트림에 대해 상기 인식 엔진에 의해 인식된 인식 결과가 존재하는 경우, 상기 인식 결과를 상기 입력받은 이미지들의 스트림을 순차적으로 표시 중인 화면 상에 더 표시하는 동작들을 수행하는 것을 특징으로 하는 컴퓨터 장치를 제공한다.The computer system comprising: at least one processor configured to execute computer readable instructions, wherein the at least one processor drives a camera module in response to entering an image processing mode, And sequentially transmits the streams of the input images to a recognition engine. When there is a recognition result recognized by the recognition engine for the streams of the received images, And sequentially displaying the streams of the input images on a screen being displayed.
컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서에 의해, 전자 기기의 카메라 모듈을 통해 캡쳐된 이미지를 네트워크를 통해 수신하고, 상기 수신된 이미지가 포함하는 객체에 대한 디텍팅 애니메이션을 생성하고, 상기 생성된 디텍팅 애니메이션을 상기 전자 기기로 전송하고, 상기 수신된 이미지에 대한 이미지 검색 결과를 생성하고, 상기 생성된 이미지 검색 결과를 상기 전자 기기로 전송하는 동작들을 수행하는 것을 특징으로 하는 컴퓨터 장치를 제공한다.A computer-readable medium having computer-executable instructions for performing the steps of: receiving, via the network, an image captured via a camera module of an electronic device by the at least one processor; Generating a detection result for the object, transmitting the generated detec- tion animation to the electronic device, generating an image search result for the received image, and transmitting the generated image search result to the electronic device And performing operations of the computer system.
카메라를 통해 연속적으로 캡쳐되는 영상 스트림의 적어도 하나의 프레임과 관련된 유의미한 정보 및/또는 유의미한 정보와 연관된 사용자 인터페이스를 제공할 수 있다.And may provide a user interface associated with meaningful and / or meaningful information associated with at least one frame of the video stream being continuously captured through the camera.
도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다.1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention.
도 2는 본 발명의 일실시예에 있어서, 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다.2 is a block diagram illustrating an internal configuration of an electronic device and a server according to an embodiment of the present invention.
도 3은 본 발명의 일실시예에 따른 이미지 처리 시스템의 실행 환경의 예를 도시한 도면이다.3 is a diagram showing an example of an execution environment of an image processing system according to an embodiment of the present invention.
도 4 및 도 5는 본 발명의 일실시예에 있어서, OCR 인식에 따라 추가 정보 또는 추가 기능을 제공하는 예를 도시한 도면이다.FIGS. 4 and 5 illustrate examples of providing additional information or additional functions according to OCR recognition in an embodiment of the present invention.
도 6 내지 도 8은 본 발명의 일실시예에 있어서, 인식된 글자수에 따라 글자 크기를 조절하는 예를 도시한 도면이다.6 to 8 are diagrams illustrating an example of adjusting the font size according to the number of recognized characters in an embodiment of the present invention.
도 9는 본 발명의 일실시예에 있어서, 바코드 인식에 따라 추가 기능을 제공하는 예를 도시한 도면이다.9 is a diagram illustrating an example of providing an additional function according to bar code recognition in an embodiment of the present invention.
도 10은 본 발명의 일실시예에 있어서, QR 코드 인식에 따라 추가 기능을 제공하는 예를 도시한 도면이다.10 is a diagram illustrating an example of providing an additional function according to QR code recognition in an embodiment of the present invention.
도 11 내지 도 15는 본 발명의 일실시예에 있어서, 이미지 검색 결과를 제공하는 예들을 도시한 도면들이다.11 to 15 are views showing examples of providing an image search result in an embodiment of the present invention.
도 16은 본 발명의 일실시예에 있어서, 이미지 검색 결과를 제공하는 예들을 나타낸 도면이고, 도 17은 본 발명의 일실시예에 있어서, 주요 컬러를 추출하여 채도를 제한하는 예를 도시한 도면이다.FIG. 16 is a diagram illustrating examples of providing an image search result in an embodiment of the present invention. FIG. 17 is a diagram illustrating an example of limiting the saturation by extracting a main color in an embodiment of the present invention to be.
도 18 내지 도 20은 본 발명의 일실시예에 있어서, 이미지 검색 결과를 유형에 따라 디자인된 템플릿을 통해 제공하는 예들을 나타낸 도면들이다.FIGS. 18 to 20 are views showing examples of providing image search results through a template designed according to a type, in an embodiment of the present invention.
도 21 내지 도 24는 본 발명의 일실시예에 있어서, 디텍팅 애니메이션을 표시하는 예들을 도시한 도면들이다.FIGS. 21 to 24 illustrate examples of displaying a detecting animation in an embodiment of the present invention. FIG.
도 25는 본 발명의 일실시예에 있어서, 디텍팅 애니메이션의 예를 도시한 도면이다.25 is a diagram showing an example of a detection animation in an embodiment of the present invention.
도 26은 본 발명의 일실시예에 따른 이미지 처리 방법의 예를 도시한 도면이다.26 is a diagram showing an example of an image processing method according to an embodiment of the present invention.
도 27은 본 발명의 일실시예에 따른 이미지 처리 방법의 다른 예를 도시한 도면이다.27 is a view showing another example of the image processing method according to the embodiment of the present invention.
도 28은 본 발명의 일실시예에 따른 이미지 처리 방법의 또 다른 예를 도시한 도면이다.28 is a diagram showing another example of the image processing method according to the embodiment of the present invention.
도 29는 본 발명의 일실시예에 있어서, 디텍팅 애니메이션을 생성하는 방법의 예를 도시한 흐름도이다.29 is a flowchart illustrating an example of a method of generating a detaching animation in an embodiment of the present invention.
도 30은 본 발명의 일실시예에 있어서, 플레이스 인식에 따라 추가 정보를 제공하는 예를 도시한 도면이다.30 is a diagram showing an example of providing additional information according to place recognition in an embodiment of the present invention.
도 31은 본 발명의 일실시예에 있어서, 이미지 코드의 인식에 따라 추가 정보를 제공하는 예를 도시한 도면이다.31 is a diagram showing an example of providing additional information according to recognition of an image code in an embodiment of the present invention.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.
본 발명의 실시예들에 따른 이미지 처리 방법은 이후 설명될 전자 기기 및/또는 서버와 같은 컴퓨터 장치를 통해 수행될 수 있다. 이때, 컴퓨터 장치에는 본 발명의 일실시예에 따른 컴퓨터 프로그램이 설치 및 구동될 수 있고, 컴퓨터 장치는 구동된 컴퓨터 프로그램의 제어에 따라 본 발명의 일실시예에 따른 이미지 처리 방법을 수행할 수 있다. 상술한 컴퓨터 프로그램은 컴퓨터 장치와 결합되어 이미지 처리 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장될 수 있다.The image processing method according to embodiments of the present invention can be performed through a computer apparatus such as an electronic apparatus and / or a server to be described later. At this time, a computer program according to an embodiment of the present invention can be installed and driven in the computer apparatus, and the computer apparatus can perform the image processing method according to an embodiment of the present invention under the control of the computer program that is driven . The above-described computer program may be stored in a computer-readable recording medium for execution by a computer in combination with a computer apparatus to perform an image processing method.
도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다. 도 1의 네트워크 환경은 복수의 전자 기기들(110, 120, 130, 140), 복수의 서버들(150, 160) 및 네트워크(170)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 전자 기기의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다.1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention. 1 shows an example in which a plurality of electronic devices 110, 120, 130, 140, a plurality of servers 150, 160, and a network 170 are included. 1, the number of electronic devices and the number of servers are not limited to those shown in FIG.
복수의 전자 기기들(110, 120, 130, 140)은 컴퓨터 장치로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 복수의 전자 기기들(110, 120, 130, 140)의 예를 들면, 스마트폰(smart phone), 휴대폰, 네비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC 등이 있다. 일례로 도 1에서는 전자 기기 1(110)의 예로 스마트폰의 형상을 나타내고 있으나, 본 발명의 실시예들에서 전자 기기 1(110)은 실질적으로 무선 또는 유선 통신 방식을 이용하여 네트워크(170)를 통해 다른 전자 기기들(120, 130, 140) 및/또는 서버(150, 160)와 통신할 수 있는 다양한 물리적인 컴퓨터 장치들 중 하나를 의미할 수 있다.The plurality of electronic devices 110, 120, 130, 140 may be a fixed terminal implemented as a computer device or a mobile terminal. Examples of the plurality of electronic devices 110, 120, 130 and 140 include a smart phone, a mobile phone, a navigation device, a computer, a notebook, a digital broadcast terminal, a PDA (Personal Digital Assistants) ), And tablet PCs. For example, FIG. 1 illustrates the shape of a smartphone as an example of the first electronic device 110, but in the embodiments of the present invention, the first electronic device 110 transmits the network 170 using a wireless or wired communication method. Or any of a variety of physical computer devices capable of communicating with other electronic devices 120, 130, 140 and / or servers 150,
통신 방식은 제한되지 않으며, 네트워크(170)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(170)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(170)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.The communication method is not limited, and may include a communication method using a communication network (for example, a mobile communication network, a wired Internet, a wireless Internet, a broadcasting network) that the network 170 may include, as well as a short-range wireless communication between the devices. For example, the network 170 may be a personal area network (LAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN) , A network such as the Internet, and the like. The network 170 may also include any one or more of a network topology including a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree or a hierarchical network, It is not limited.
서버(150, 160) 각각은 복수의 전자 기기들(110, 120, 130, 140)과 네트워크(170)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 예를 들어, 서버(150)는 네트워크(170)를 통해 접속한 복수의 전자 기기들(110, 120, 130, 140)로 제1 서비스를 제공하는 시스템일 수 있으며, 서버(160) 역시 네트워크(170)를 통해 접속한 복수의 전자 기기들(110, 120, 130, 140)로 제2 서비스를 제공하는 시스템일 수 있다. 보다 구체적인 예로, 서버(150)는 복수의 전자 기기들(110, 120, 130, 140)에 설치되어 구동되는 컴퓨터 프로그램으로서의 어플리케이션을 통해, 해당 어플리케이션이 목적하는 서비스(일례로, 본 실시예에 따른 이미지 처리를 위한 서비스 외에도, 정보 제공 서비스, 메시징 서비스, 메일 서비스, 컨텐츠 전송 서비스 등)를 제1 서비스로서 복수의 전자 기기들(110, 120, 130, 140)로 제공할 수 있다. 다른 예로, 서버(160)는 상술한 어플리케이션의 설치 및 구동을 위한 파일을 복수의 전자 기기들(110, 120, 130, 140)로 배포하는 서비스를 제2 서비스로서 제공할 수 있다.Each of the servers 150 and 160 is a computer device or a plurality of computers that communicate with a plurality of electronic devices 110, 120, 130 and 140 through a network 170 to provide commands, codes, files, Lt; / RTI > devices. For example, the server 150 may be a system that provides a first service to a plurality of electronic devices 110, 120, 130, 140 connected through a network 170, 170, and 140 to the first and second electronic devices 110, 120, 130, and 140, respectively. More specifically, the server 150 may be a computer program that is installed in a plurality of electronic apparatuses 110, 120, 130, and 140, Mail service, content transfer service, and the like) as a first service to a plurality of electronic devices 110, 120, 130, 140 in addition to the service for image processing, the information providing service, the messaging service, As another example, the server 160 may provide a service for distributing a file for installing and running the application to the plurality of electronic devices 110, 120, 130, and 140 as a second service.
도 2는 본 발명의 일실시예에 있어서, 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다. 도 2에서는 전자 기기에 대한 예로서 전자 기기 1(110), 그리고 서버(150)의 내부 구성을 설명한다. 또한, 다른 전자 기기들(120, 130, 140)이나 서버(160) 역시 상술한 전자 기기 1(110) 또는 서버(150)와 동일한 또는 유사한 내부 구성을 가질 수 있다.2 is a block diagram illustrating an internal configuration of an electronic device and a server according to an embodiment of the present invention. 2 illustrates an internal configuration of the electronic device 1 (110) and the server 150 as an example of the electronic device. Other electronic devices 120, 130, 140 and server 160 may also have the same or similar internal configuration as electronic device 1 110 or server 150 described above.
전자 기기 1(110)과 서버(150)는 메모리(211, 221), 프로세서(212, 222), 통신 모듈(213, 223) 그리고 입출력 인터페이스(214, 224)를 포함할 수 있다. 메모리(211, 221)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(211, 221)와는 구분되는 별도의 영구 저장 장치로서 전자 기기 1(110)나 서버(150)에 포함될 수도 있다. 또한, 메모리(211, 221)에는 운영체제와 적어도 하나의 프로그램 코드(일례로 전자 기기 1(110)에 설치되어 구동되는 브라우저나 특정 서비스의 제공을 위해 전자 기기 1(110)에 설치된 어플리케이션 등을 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(211, 221)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 모듈(213, 223)을 통해 메모리(211, 221)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템(일례로, 상술한 서버(160))이 네트워크(170)를 통해 제공하는 파일들에 의해 설치되는 컴퓨터 프로그램(일례로 상술한 어플리케이션)에 기반하여 메모리(211, 221)에 로딩될 수 있다.The electronic device 1 110 and the server 150 may include memories 211 and 221, processors 212 and 222, communication modules 213 and 223 and input / output interfaces 214 and 224. The memories 211 and 221 may be a computer-readable recording medium and may include a permanent mass storage device such as a random access memory (RAM), a read only memory (ROM), and a disk drive. The non-decaying mass storage device such as a ROM and a disk drive may be included in the electronic device 110 or the server 150 as a separate persistent storage device different from the memory 211 or 221. The memory 211 and the memory 221 are provided with an operating system and at least one program code (for example, a program installed in the electronic device 1 (110) and used for a browser or an application installed in the electronic device 1 Code) can be stored. These software components may be loaded from a computer readable recording medium separate from the memories 211 and 221. [ Such a computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, and a memory card. In other embodiments, the software components may be loaded into memory 211, 221 via communication modules 213, 223 rather than a computer readable recording medium. For example, at least one program may be a computer program installed by files provided by a file distribution system (e.g., the server 160 described above) that distributes installation files of developers or applications, May be loaded into the memory 211, 221 based on the application (e.g., the application described above).
프로세서(212, 222)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(211, 221) 또는 통신 모듈(213, 223)에 의해 프로세서(212, 222)로 제공될 수 있다. 예를 들어 프로세서(212, 222)는 메모리(211, 221)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다. Processors 212 and 222 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input / output operations. The instructions may be provided to the processors 212 and 222 by the memories 211 and 221 or the communication modules 213 and 223. For example, the processor 212, 222 may be configured to execute a command received in accordance with a program code stored in a recording device, such as the memory 211, 221.
통신 모듈(213, 223)은 네트워크(170)를 통해 전자 기기 1(110)과 서버(150)가 서로 통신하기 위한 기능을 제공할 수 있으며, 전자 기기 1(110) 및/또는 서버(150)가 다른 전자 기기(일례로 전자 기기 2(120)) 또는 다른 서버(일례로 서버(160))와 통신하기 위한 기능을 제공할 수 있다. 일례로, 전자 기기 1(110)의 프로세서(212)가 메모리(211)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이 통신 모듈(213)의 제어에 따라 네트워크(170)를 통해 서버(150)로 전달될 수 있다. 역으로, 서버(150)의 프로세서(222)의 제어에 따라 제공되는 제어 신호나 명령, 컨텐츠, 파일 등이 통신 모듈(223)과 네트워크(170)를 거쳐 전자 기기 1(110)의 통신 모듈(213)을 통해 전자 기기 1(110)로 수신될 수 있다. 예를 들어 통신 모듈(213)을 통해 수신된 서버(150)의 제어 신호나 명령, 컨텐츠, 파일 등은 프로세서(212)나 메모리(211)로 전달될 수 있고, 컨텐츠나 파일 등은 전자 기기 1(110)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.The communication modules 213 and 223 may provide functions for the electronic device 1 110 and the server 150 to communicate with each other through the network 170 and may be provided to the electronic device 1 110 and / May provide a function for communicating with another electronic device (e.g., electronic device 2 120) or another server (e.g., server 160). The request generated by the processor 212 of the electronic device 1 110 according to the program code stored in the recording device such as the memory 211 is transmitted to the server 170 via the network 170 under the control of the communication module 213 150 < / RTI > Conversely, control signals, commands, contents, files, and the like provided under the control of the processor 222 of the server 150 are transmitted to the communication module 223 of the electronic device 110 via the communication module 223 and the network 170 213 to the electronic device 1 (110). For example, control signals, commands, contents, files, and the like of the server 150 received through the communication module 213 can be transmitted to the processor 212 or the memory 211, (The above-mentioned persistent storage device), which may further include a storage medium 110.
입출력 인터페이스(214)는 입출력 장치(215)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(214)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(215)는 전자 기기 1(110)과 하나의 장치로 구성될 수도 있다. 또한, 서버(150)의 입출력 인터페이스(224)는 서버(150)와 연결되거나 서버(150)가 포함할 수 있는 입력 또는 출력을 위한 장치(미도시)와의 인터페이스를 위한 수단일 수 있다. 보다 구체적인 예로, 전자 기기 1(110)의 프로세서(212)가 메모리(211)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 서버(150)나 전자 기기 2(120)가 제공하는 데이터를 이용하여 구성되는 서비스 화면이나 컨텐츠가 입출력 인터페이스(214)를 통해 디스플레이에 표시될 수 있다.The input / output interface 214 may be a means for interfacing with the input / output device 215. For example, the input device may include a device such as a keyboard or a mouse, and the output device may include a device such as a display, a speaker, and the like. As another example, the input / output interface 214 may be a means for interfacing with a device having integrated functions for input and output, such as a touch screen. The input / output device 215 may be composed of the electronic device 1 (110) and one device. The input / output interface 224 of the server 150 may be a means for interfacing with the server 150 or an interface with a device (not shown) for input or output that the server 150 may include. More specifically, when the processor 212 of the electronic device 1 (110) processes the command of the computer program loaded in the memory 211, the configuration is performed using the data provided by the server 150 or the electronic device 2 (120) A service screen or contents can be displayed on the display through the input / output interface 214. [
또한, 다른 실시예들에서 전자 기기 1(110) 및 서버(150)는 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 전자 기기 1(110)은 상술한 입출력 장치(215) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다. 보다 구체적인 예로, 전자 기기 1(110)이 스마트폰인 경우, 일반적으로 스마트폰이 포함하고 있는 가속도 센서나 자이로 센서, 카메라 모듈, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 전자 기기 1(110)에 더 포함되도록 구현될 수 있다.Also, in other embodiments, electronic device 1 110 and server 150 may include more components than the components of FIG. However, there is no need to clearly illustrate most prior art components. For example, electronic device 1 110 may be implemented to include at least a portion of input / output devices 215 described above, or may be implemented with other components such as a transceiver, Global Positioning System (GPS) module, camera, Elements. More specifically, when the electronic device 1 (110) is a smart phone, the acceleration sensor, the gyro sensor, the camera module, various physical buttons, buttons using a touch panel, input / output ports, A vibrator, and the like may be further included in the electronic device 1 (110).
도 3은 본 발명의 일실시예에 따른 이미지 처리 시스템의 실행 환경의 예를 도시한 도면이다. 도 3은 전자 기기 1(110)이 카메라 모듈(310), OCR 인식 엔진(320), 바코드 인식 엔진(330) 및 QR 코드 인식 엔진(340)을 포함하고, 서버(150)가 이미지 검색 엔진(350) 및 디텍팅 애니메이션 생성 엔진(360)을 포함하는 예를 나타내고 있다. 실시예에 따라 디텍팅 애니메이션 생성 엔진(360)은 전자 기기 1(110)에 포함될 수도 있다.3 is a diagram showing an example of an execution environment of an image processing system according to an embodiment of the present invention. 3 shows that electronic device 1 110 includes a camera module 310, an OCR recognition engine 320, a barcode recognition engine 330 and a QR code recognition engine 340 and the server 150 includes an image search engine 350 and a detec- tion animation generation engine 360 are shown. The detec- tion animation generation engine 360 may be included in the first electronic device 110 according to the embodiment.
각 엔진들(320 내지 360)은 소프트웨어 모듈의 형태로 구현될 수 있다. 예를 들어, 전자 기기 1(110)이 포함하는 OCR 인식 엔진(320), 바코드 인식 엔진(330) 및 QR 코드 인식 엔진(340)은 전자 기기 1(110)에 설치 및 구동되는 어플리케이션이 제공하는 기능적 표현일 수 있다. 이 경우 전자 기기 1(110)의 프로세서(212)는 어플리케이션의 코드에 따라 OCR 인식 엔진(320), 바코드 인식 엔진(330) 및 QR 코드 인식 엔진(340)에 따른 동작들을 수행할 수 있다. 유사하게 서버(150)가 포함하는 이미지 검색 엔진(350) 및 디텍팅 애니메이션 생성 엔진(360) 역시 소프트웨어 모듈의 형태로 구현될 수 있으며, 서버(150)에서 구동되는 컴퓨터 프로그램이 제공하는 기능적 표현일 수 있다. 이 경우 서버(150)의 프로세서(222)는 컴퓨터 프로그램의 코드에 따라 이미지 검색 엔진(350) 및 디텍팅 애니메이션 생성 엔진(360)에 따른 동작들을 수행할 수 있다.Each of the engines 320 to 360 may be implemented in the form of a software module. For example, the OCR recognition engine 320, the barcode recognition engine 330, and the QR code recognition engine 340 included in the electronic device 1 (110) are provided by an application installed and driven in the electronic device 1 (110) It can be a functional expression. In this case, the processor 212 of the electronic device 110 may perform operations according to the OCR recognition engine 320, the barcode recognition engine 330, and the QR code recognition engine 340 according to an application code. Similarly, the image search engine 350 and the detection animation generation engine 360 included in the server 150 may be implemented in the form of a software module, and may be a functional expression provided by a computer program running on the server 150 . In this case, the processor 222 of the server 150 may perform operations according to the image search engine 350 and the detection animation generation engine 360 according to the code of the computer program.
OCR 인식 엔진(320)은 이미지 내에서 하나 이상의 문자 및/또는 숫자를 인식할 수 있다.The OCR recognition engine 320 may recognize one or more characters and / or numbers within the image.
바코드 인식 엔진(330)은 이미지 내에서 바코드를 인식할 수 있다.The barcode recognition engine 330 can recognize the barcode in the image.
QR 코드 인식 엔진(340)은 이미지 내에서 QR 코드를 인식할 수 있다.The QR code recognition engine 340 can recognize the QR code in the image.
이미지 검색 엔진(350)은 이미지를 입력으로 받아, 해당 이미지와 연관된 다양한 검색 결과(이미지, 텍스트 등)를 반환할 수 있다.The image search engine 350 may receive an image as input and return various search results (image, text, etc.) associated with the image.
디텍팅 애니메이션 생성 엔진(360)은 이미지 내에서 객체를 탐색하는 과정을 시각적으로 표현하기 위한 디텍팅 애니메이션을 생성하여 제공할 수 있다. 이러한 디텍팅 애니메이션은 사용자가 검색 결과를 기다리는 동안 사용자에게 흥미를 유발하고, 검색 결과가 지연되지 않는 느낌을 주기 위한 효과로서 활용될 수 있다.Detecting animation generation engine 360 may generate and provide a detaching animation for visually expressing the process of searching for an object in the image. Such detec- ting animation can be utilized as an effect to induce a user's interest while waiting for a search result and give a feeling that the search result is not delayed.
전자 기기 1(110)이 본 실시예에 따른 이미지 처리 모드로 진입하는 경우, 전자 기기 1(110)은 카메라 모듈(310)을 구동할 수 있으며, 사용자로부터의 별도의 입력 없이도 카메라 모듈(310)에 의해 연속적으로 캡쳐되는 이미지 스트림을 OCR 인식 엔진(320), 바코드 인식 엔진(330) 및 QR 코드 인식 엔진(340)의 입력으로 전달할 수 있다. 이때, OCR 인식 엔진(320), 바코드 인식 엔진(330) 및 QR 코드 인식 엔진(340) 각각은 입력되는 이미지 스트림의 이미지들(프레임들)을 순차적으로 분석하여 이미지 내에서 각자 해당하는 객체(문자, 숫자, 바코드, QR 코드 등)를 인식할 수 있다.The electronic device 1 110 can drive the camera module 310 and the camera module 310 can be operated without any additional input from the user. To the inputs of the OCR recognition engine 320, the barcode recognition engine 330 and the QR code recognition engine 340. Each of the OCR recognition engine 320, the bar code recognition engine 330 and the QR code recognition engine 340 sequentially analyzes the images (frames) of the input image stream and generates a corresponding object , A number, a bar code, a QR code, etc.).
앞서 설명한 바와 같이, OCR 인식 엔진(320)은 이미지 스트림이 포함하는 이미지들을 순차적으로 분석하여 이미지내에 포함된 문자 및/또는 숫자의 인식을 시도할 수 있으며, 인식되는 문자 및/또는 숫자를 반환할 수 있다. 이 경우, 전자 기기 1(110)은 반환된 문자 및/또는 숫자를 화면에 표시할 수 있으며, 표시된 문자 및/또는 숫자와 연관된 추가 정보나 추가 기능을 제공할 수 있다. 예를 들어, 제1 언어의 문자가 인식되는 경우, 전자 기기 1(110)은 인식된 제1 언어의 문자를 다른 언어의 문자로 번역할 수 있는 번역 기능으로의 접근을 위한 사용자 인터페이스를 제공할 수 있다. 다른 예로, 전자 기기 1(110)은 반환된 문자 및/또는 숫자를 키워드로 이용하는 검색 기능으로의 접근을 위한 사용자 인터페이스를 제공할 수 있다. 또 다른 예로, 전자 기기 1(110)은 자동으로 반환된 문자 및/또는 숫자를 키워드를 이용하는 검색을 진행하여 그 검색 결과를 제공할 수도 있다.As described above, the OCR recognition engine 320 may sequentially analyze images included in the image stream to attempt recognition of characters and / or numbers contained within the image, and may return recognized characters and / or numbers . In this case, the electronic device 1 (110) may display the returned characters and / or numbers on the screen, and may provide additional information or additional functions associated with the displayed characters and / or numbers. For example, when a character of a first language is recognized, the electronic device 110 provides a user interface for accessing a translation function capable of translating the recognized first language character into a character of another language . As another example, the electronic device 110 may provide a user interface for accessing a search function that uses the returned characters and / or numbers as a keyword. As another example, the electronic device 1 (110) may automatically perform a search using a character and / or a number, which are returned, and provide the search result.
바코드 인식 엔진(330)은 이미지 스트림이 포함하는 이미지들을 순차적으로 분석하여 이미지내에 포함된 바코드의 인식을 시도할 수 있으며, 인식되는 바코드에 대한 정보를 반환할 수 있다. 이 경우, 전자 기기 1(110)은 반환된 정보와 연관된 추가 정보나 추가 기능을 제공할 수 있다. 예를 들어, 전자 기기 1(110)은 반환된 바코드에 대한 정보를 통해 해당 바코드에 대응하는 정보(일례로, 바코드에 대응하는 책이나 와인 등에 대한 정보)를 검색하여 그 검색 결과를 추가 정보로서 제공할 수 있다. 다른 예로, 전자 기기 1(110)은 바코드에 대응하는 정보로의 접근을 위한 사용자 인터페이스를 제공할 수도 있다.The barcode recognition engine 330 can sequentially analyze the images included in the image stream to attempt to recognize the barcode included in the image, and to return information on the recognized barcode. In this case, the electronic device 1 (110) may provide additional information or additional functions associated with the returned information. For example, the electronic device 1 (110) searches the information on the returned barcode (for example, information on a book or wine corresponding to the barcode) corresponding to the barcode and returns the search result as additional information . As another example, the electronic device 1 (110) may provide a user interface for accessing information corresponding to the bar code.
QR 코드 인식 엔진(340)은 이미지 스트림이 포함하는 이미지들을 순차적으로 분석하여 이미지내에 포함된 QR 코드의 인식을 시도할 수 있으며, 인식되는 QR 코드에 대한 정보를 반환할 수 있다. 이 경우, 전자 기기 1(110)은 반환된 정보와 연관된 추가 정보나 추가 기능을 제공할 수 있다. 바코드의 경우와 유사하게 전자 기기 1(110)은 인식된 QR 코드에 대응하는 정보(일례로, QR 코드가 포함하는 URL에 대응하는 정보)를 추가 정보로서 제공하거나 또는 인식된 QR 코드에 대응하는 정보로의 접근을 위한 사용자 인터페이스를 제공할 수도 있다.The QR code recognition engine 340 can sequentially analyze the images included in the image stream to attempt to recognize the QR code included in the image, and to return information on the recognized QR code. In this case, the electronic device 1 (110) may provide additional information or additional functions associated with the returned information. Similarly to the case of the barcode, the electronic device 110 provides information (e.g., information corresponding to the URL included in the QR code) corresponding to the recognized QR code as additional information, or provides information corresponding to the recognized QR code And may provide a user interface for accessing information.
이처럼, 전자 기기 1(110)이 이미지 처리 모드로 진입하는 경우, 전자 기기 1(110)은 사용자로부터의 별도의 입력 없이도 카메라 모듈(310)를 구동하고, 카메라 모듈(310)을 통해 제공되는 이미지 스트림의 이미지들 각각에 대해 문자, 숫자, 바코드, QR 코드 등과 같은 객체들의 탐색이 자동으로 이루어질 수 있으며, 탐색된 객체와 관련된 추가 정보나 추가 기능이 자동적으로 제공될 수 있다.When the electronic device 1 110 enters the image processing mode, the electronic device 1 110 drives the camera module 310 without any additional input from the user, and the image provided through the camera module 310 For each of the images in the stream, the search for objects such as letters, numbers, barcodes, QR codes, etc. can be performed automatically, and additional information or additional functions related to the searched objects can be automatically provided.
한편, 전자 기기 1(110)은 사용자의 촬영 버튼의 선택(일례로, 터치스크린 환경에서 터치스크린에 표시된 촬영 버튼의 영역을 사용자가 손가락으로 터치)과 같이 기설정된 사용자 인터페이스를 통한 사용자 입력의 발생 여부를 모니터링할 수 있다. 도 3에서 과정(370)은 사용자 입력의 발생 여부를 모니터링하여 사용자 입력이 발생하는 경우에 사용자 입력에 따라 캡쳐된 이미지가 서버(150)로 전달되는 예를 나타내고 있다. 보다 구체적인 예로, 도 2를 통해 설명한 바와 같이, 전자 기기 1(110)은 통신 모듈(213)을 이용하여 네트워크(170)를 통해 캡쳐된 이미지를 서버(150)로 전송할 수 있으며, 서버(150)는 네트워크(170)를 통해 전송된 캡쳐된 이미지를 통신 모듈(223)을 통해 수신할 수 있다.On the other hand, the electronic device 1 (110) generates a user input through a predetermined user interface such as a selection of a user's photographing button (for example, a user touches an area of a photographing button displayed on the touch screen in a touch screen environment) Can be monitored. Referring to FIG. 3, the process 370 monitors whether a user input is generated and, when a user input occurs, the captured image is transmitted to the server 150 according to user input. 2, the electronic device 1 110 may transmit the captured image via the network 170 to the server 150 using the communication module 213, and the server 150 may transmit the captured image via the network 170 to the server 150, May receive the captured image transmitted via the network 170 via the communication module 223.
서버(150)는 전달된 이미지를 이미지 검색 엔진(350)과 디텍팅 애니메이션 생성 엔진(360)에 각각 제공할 수 있다.The server 150 may provide the delivered image to the image search engine 350 and the detection animation generation engine 360, respectively.
이미 설명한 바와 같이, 이미지 검색 엔진(350)은 전자 기기 1(110)에서 캡쳐되어 전달된 이미지를 입력으로 받아서 해당 이미지와 연관된 다양한 검색 결과를 반환할 수 있다. 예를 들어, 이미지 검색 엔진(350)은 해당 이미지가 포함하는 객체를 인식하여, 인식된 객체와 관련된 이미지나 문서, 텍스트 등을 검색하여 반환할 수 있다. 보다 구체적인 예로, 이미지에 포함된 강아지를 인식하여 인식된 강아지의 종이 '리트리버'로 분석된 경우, '리트리버'와 관련된 이미지나 문서 등의 검색 결과를 생성 및 반환할 수 있다. 서버(150)는 반환된 검색 결과를 네트워크(170)를 통해 전자 기기 1(110)로 전송할 수 있으며, 전자 기기 1(110)에서는 해당 검색 결과를 사용자에게 제공할 수 있다. 실시예에 따라 전자 기기 1(110)은 이미지뿐만 아니라, 이미지를 캡쳐할 때의 시간과 전자 기기 1(110)의 현재 위치, 전자 기기 1(110)의 사용자의 정보 등을 서버(150)로 추가로 전송할 수도 있다. 이 경우, 서버(150)는 위치, 시간, 사용자의 정보 중 적어도 하나에 더 기반하여 검색 결과를 제공할 수 있다. 예를 들어, 이미지 연관된 다양한 검색 결과들 중 사용자의 현재 위치와 관련된 검색 결과나 시간과 관련된 검색 결과가 검색 결과의 노출에 대한 우선순위를 얻을 수 있다.As described above, the image search engine 350 may receive the captured image captured by the first electronic device 110, and may return various search results associated with the image. For example, the image search engine 350 may recognize an object included in the image and search for and return an image, document, text, or the like related to the recognized object. As a more specific example, when a puppy included in the image is recognized and the puppy of the recognized dog is analyzed as a 'retriever', a search result such as an image or a document related to the 'retriever' can be generated and returned. The server 150 may transmit the retrieved search result to the electronic device 110 through the network 170 and the electronic device 110 may provide the search result to the user. According to the embodiment, the electronic device 1 110 not only receives the image but also the time when capturing the image, the current position of the electronic device 110, information of the user of the electronic device 110, and the like to the server 150 It may be further transmitted. In this case, the server 150 may provide search results based on at least one of location, time, and user information. For example, a search result related to a user's current position or a search result related to time among various search results associated with an image can obtain a priority for exposure of the search result.
디텍팅 애니메이션 생성 엔진(360)은 전자 기기 1(110)에서 캡쳐되어 전달된 이미지를 입력으로 받아서 해당 이미지 내에서 객체를 탐색하는 과정을 시각적으로 표현하기 위한 디텍팅 애니메이션을 생성할 수 있다. 이 경우에도 서버(150)는 생성된 디텍팅 애니메이션을 네트워크(170)를 통해 전자 기기 1(110)로 전송할 수 있으며, 전자 기기 1(110)에서 디텍팅 애니메이션을 기설정된 시간 동안 해당 이미지와 연관하여 표시함으로써, 전자 기기 1(110)의 사용자가 검색 결과(앞서 설명한 이미지 검색 엔진(350)을 통해 반환되어 서버(150)에서 전자 기기 1(110)로 제공되는 검색 결과)를 기다리는 동안 해당 사용자에게 흥미를 유발하고, 검색 결과가 지연되지 않는 느낌을 주기 위한 효과로서 활용될 수 있다. 이러한 디텍팅 애니메이션은 기본적으로 이미지에서 탐색하고자 하는 객체와 관련된 위치의 복수의 점들과 이러한 점들을 연결하는 선으로 구성될 수 있으며, 점들의 표현과 점들을 연결하는 선들의 표현이 애니메이션 효과로서 표시될 수 있다. 또한, 실시예에 따라 점들과 선의 굵기나 크기, 밝기, 색상 등을 변화하여 추가적인 애니메이션 효과를 줄 수도 있다. 이에 더해, 점들과 점들을 연결하는 선들에 의해 이루어지는 면들에 대해 서로 다른 색을 표시하여 입체감을 주거나 또는 점들을 연결하는 선들을 곡선으로 처리하는 실시예들도 고려될 수 있다. 이러한 디텍팅 애니메이션에 대해서는 이후 더욱 자세히 설명한다.The detec- tion animation generation engine 360 may generate a detec- tion animation for visually expressing a process of capturing an image captured by the electronic device 110 and receiving the received image as input and searching for an object in the image. In this case, the server 150 may transmit the generated detecting animation to the first electronic device 110 via the network 170 and may associate the detected animation with the corresponding image for a predetermined time The user of the electronic device 1 110 waits for the search result (the search result returned through the image search engine 350 described above and provided to the electronic device 1 110 at the server 150) And can be utilized as an effect to give an impression that the search result is not delayed. Such a detecting animation may basically consist of a plurality of points of a position related to an object to be searched in the image and a line connecting these points and a representation of the lines connecting the points is displayed as an animation effect . Further, according to the embodiment, the thickness, size, brightness, color, etc. of dots and lines may be changed to provide an additional animation effect. In addition, embodiments may be considered in which the lines formed by the lines connecting the points and the points are displayed in different colors to give a three-dimensional effect or curved lines connecting the points. This detecting animation will be described in more detail later.
도 4 및 도 5는 본 발명의 일실시예에 있어서, OCR 인식에 따라 추가 정보 또는 추가 기능을 제공하는 예를 도시한 도면이다.FIGS. 4 and 5 illustrate examples of providing additional information or additional functions according to OCR recognition in an embodiment of the present invention.
도 4는 전자 기기 1(110)의 화면 예들(410 내지 440)을 도시하고 있다. 제1 화면 예(410)는 도 3을 통해 설명한 바와 같이, 카메라 모듈(310)을 통해 캡쳐된 이미지 스트림이 OCR 인식 엔진(320)으로 자동으로 전달되고, OCR 인식 엔진(320)에서 실시간으로 문자를 인식한 예를 나타내고 있다.4 shows screen examples 410 to 440 of the electronic device 1 (110). 3, an image stream captured through the camera module 310 is automatically transmitted to the OCR recognition engine 320, and the OCR recognition engine 320 real-time recognizes characters As shown in FIG.
이때, 제2 화면 예(420)에서는 인식이 완료됨에 따라, 인식된 문자에 대한 색상이 변경되어 이미지상에 표시되고, T(TEXT) 문자인식 버튼이 노출된 예를 나타내고 있다.At this time, in the second screen example 420, as the recognition is completed, the color of the recognized character is changed and displayed on the image, and the T (TEXT) character recognition button is exposed.
또한, 제3 화면 예(430)는 T 문자인식 버튼이 선택됨에 따라 인식된 문자에 대한 복사, 번역, 읽기 등과 같이 인식된 문자와 관련된 기능들이 제공되는 예를 나타내고 있다. 예를 들어, 복사 기능은 인식된 문자를 클립보드에 복사하기 위한 기능일 수 있다. 또한, 번역 기능은 인식된 제1 언어의 문자를 제2 언어의 문자로 번역하기 위한 기능일 수 있다. 또한, 읽기 기능은 인식된 제1 문자를 읽어주는 기능일 수 있으며, 제1 문자에 해당하는 오디오를 생성하여 출력하는 기능일 수 있다.In addition, the third screen example 430 shows an example in which functions related to recognized characters such as copying, translation, and reading of recognized characters are provided by selecting the T character recognition button. For example, the copy function may be a function for copying recognized characters to the clipboard. In addition, the translation function may be a function for translating a recognized first language character into a second language character. Further, the reading function may be a function of reading the recognized first character, or may be a function of generating and outputting audio corresponding to the first character.
제4 화면 예(440)는 사용자가 번역 기능을 선택함에 따라 인식된 제1 언어의 문자가 제2 언어의 문자로 번역되어 표시된 예를 나타내고 있다. 이때, 제4 화면 예(440)에 표시된 자세히보기 기능은 인식된 제1 언어의 문자에 대한 언어 사전 검색 결과나 인식된 제1 언어의 문자를 키워드로 이용한 검색 결과 등과 같이 추가 콘텐츠를 제공하거나 또는 별도의 번역결과 페이지로의 랜딩을 위한 기능일 수 있다. 또한, 인식이 정확히 이루어지지 않았거나 또는 번역 결과가 원하는 결과가 아닌 경우, 필기인식 기능 버튼을 이용하여 직접 글씨를 써서 검색을 진행하기 위한 필기 검색 기능이 더 제공될 수도 있다.The fourth screen example 440 shows an example in which characters of the first language recognized as the user selects the translation function are translated and displayed as characters of the second language. At this time, the detail view function displayed in the fourth screen example 440 may provide additional contents such as a language dictionary search result for the recognized first language character, a search result using the recognized first language character as a keyword, or the like It may be a function for landing on a separate translation result page. Further, if the recognition is not performed correctly or the translation result is not the desired result, a handwriting search function for proceeding with the search using the handwriting recognition function button may be further provided.
도 4의 실시예에서는 인식된 문자들 전체에 대한 추가 기능을 제공하는 예를 설명하였으나, 실시예에 따라 인식된 문자들 중 일부를 선택하고, 선택된 일부의 문자에 대해서 해당 추가 기능이 제공될 수도 있다.In the embodiment of FIG. 4, an example has been described in which an additional function is provided for all recognized characters. However, according to an embodiment, some of the recognized characters may be selected, and a corresponding additional function may be provided have.
도 5는 전자 기기 1(110)의 화면 예들(510 내지 530)을 도시하고 있다. 이때, 제1 화면 예(510)는 텍스트(문자 및/또는 숫자)의 인식 이전에 이미지가 화면에 표시된 예를 나타내고 있다.5 shows screen examples 510 to 530 of the electronic device 1 (110). At this time, the first screen example 510 shows an example in which an image is displayed on the screen before recognition of text (characters and / or numbers).
또한, 제2 화면 예(520)는 텍스트가 인식됨에 따라 해당 텍스트의 이미지 내에서의 위치와 유사한 위치에 인식된 텍스트들을 표시하는 예를 나타내고 있다.In addition, the second screen example 520 shows an example in which recognized text is displayed at a position similar to the position of the text in the image as the text is recognized.
또한, 제3 화면 예(530)는 인식된 텍스트를 사용자가 알아보기 편하도록 재구성하여 표시한 예를 나타내고 있다. 이때, 제3 화면 예(530)에서는 인식된 텍스트가 보다 잘 표현될 수 있도록 이미지가 어둡게 처리된 예를 나타내고 있다. 또한, 제3 화면 예(530)에서는 인식된 텍스트와 관련하여 복사 기능, 번역 기능 및 읽기 기능과 같은 추가 기능들을 제공하는 예를 설명하고 있다.The third screen example 530 shows an example in which the recognized text is reconstructed and displayed so that the user can easily understand it. At this time, the third screen example 530 shows an example in which the image is darkened so that the recognized text can be expressed better. In the third screen example 530, an example of providing additional functions such as a copying function, a translation function, and a reading function in association with the recognized text is described.
이때, 제2 화면 예(520)와 제3 화면 예(530)에서 표시되는 텍스트들은 색의 변화와 같은 애니메이션 효과나 텍스트들이 표시되는 테두리의 2차원에서의 3차원으로의 변화 등과 같은 애니메이션 효과와 함께 표시될 수도 있다.At this time, the texts displayed in the second screen example 520 and the third screen example 530 may have an animation effect such as an animation effect such as a color change, a three-dimensional change in a two-dimensional frame in which texts are displayed, It may be displayed together.
도 6 내지 도 8은 본 발명의 일실시예에 있어서, 인식된 글자수에 따라 글자 크기를 조절하는 예를 도시한 도면이다.6 to 8 are diagrams illustrating an example of adjusting the font size according to the number of recognized characters in an embodiment of the present invention.
도 6은 인식된 글자수가 1~6 글자인 경우에는 80px 크기로 인식된 텍스트를 표시하는 예를 나타내고 있다.FIG. 6 shows an example of displaying text recognized as 80 px size when the recognized number of characters is 1 to 6 characters.
또한, 도 7은 인식된 글자수가 7~40 글자인 경우에는 60px 크기로 인식된 텍스트를 표시하는 예를 나타내고 있다.In addition, FIG. 7 shows an example of displaying a text recognized as a 60px size when the recognized number of characters is 7 to 40 characters.
또한, 도 8은 인식된 글자수가 41 글자 이상인 경우에 40px 크기로 인식된 텍스트를 표시하는 예를 나타내고 있다.FIG. 8 shows an example of displaying a text recognized as a 40px size when the recognized number of characters is 41 or more.
이처럼, 전자 기기 1(110)은 이미지에서 인식된 텍스트의 글자 수에 따라 인식된 텍스트를 표시함에 있어서, 글자 크기를 자동으로 조절하여 표시할 수 있다.As described above, in displaying the recognized text according to the number of characters of the text recognized in the image, the electronic device 1 (110) automatically adjusts the size of the displayed character.
도 9는 본 발명의 일실시예에 있어서, 바코드 인식에 따라 추가 기능을 제공하는 예를 도시한 도면이다.9 is a diagram illustrating an example of providing an additional function according to bar code recognition in an embodiment of the present invention.
도 9는 전자 기기 1(110)의 화면 예들(910 및 920)을 도시하고 있다. 제1 화면 예(910)는 바코드가 포함된 이미지가 표시된 예를 나타내고 있으며, 제2 화면 예(920)는 바코드 인식 엔진(330)에 의해 바코드가 인식됨에 따라 바코드 버튼이 노출된 예를 나타내고 있다. 사용자가 노출된 바코드 버튼을 선택하는 경우, 해당 바코드에 해당하는 제품 정보(일례로, 책 정보나 와인 정보 등)가 제공될 수 있다.9 shows screen examples 910 and 920 of the electronic device 1 (110). The first screen example 910 shows an example in which an image including a bar code is displayed and the second screen example 920 shows an example in which a bar code button is exposed as a bar code is recognized by the bar code recognition engine 330 . When a user selects an exposed barcode button, product information (for example, book information, wine information, and the like) corresponding to the barcode may be provided.
도 10은 본 발명의 일실시예에 있어서, QR 코드 인식에 따라 추가 기능을 제공하는 예를 도시한 도면이다.10 is a diagram illustrating an example of providing an additional function according to QR code recognition in an embodiment of the present invention.
도 10은 전자 기기 1(110)의 화면 예들(1010 및 1020)을 도시하고 있다. 제1 화면 예(1010)는 QR 코드가 포함된 이미지가 표시된 예를 나타내고 있으며, 제2 화면 예(1020)는 QR 코드 인식 엔진(340)에 의해 QR 코드가 인식됨에 따라 QR 코드 버튼이 노출된 예를 나타내고 있다. 사용자가 노출된 QR 코드 버튼을 선택하는 경우, 해당 QR 코드가 포함하는 URL의 페이지가 랜딩될 수 있다.10 shows screen examples 1010 and 1020 of the electronic device 1 (110). In the first screen example 1010, an image including a QR code is displayed. In the second screen example 1020, a QR code button is exposed as the QR code is recognized by the QR code recognition engine 340 For example. When a user selects an exposed QR code button, the page of the URL included in the QR code can be landed.
도 11 내지 도 15는 본 발명의 일실시예에 있어서, 이미지 검색 결과를 제공하는 예들을 도시한 도면들이다.11 to 15 are views showing examples of providing an image search result in an embodiment of the present invention.
도 11은 전자 기기 1(110)의 화면 예들(1110 내지 1130)을 도시하고 있다. 제1 화면 예(1110)는 이미지가 표시된 예를 나타내고 있으며, 제2 화면 예(1120)는 이미지 내에서 객체를 탐색하는 예를 나타내고 있다. 이때, 사용자가 촬영 버튼을 누름에 따라 이미지가 서버(150)로 전송될 수 있으며, 서버(150)에서는 이미지 검색 엔진(350) 및 디텍팅 애니메이션 생성 엔진(360)을 통해 이미지 검색과 디텍팅 애니메이션의 생성이 진행될 수 있다. 제2 화면 예(1120)는 복수의 점들과 점들을 연결하는 선들로 구성되는 디텍팅 애니메이션을 서버(150)로부터 제공받아 화면에 표시함으로써, 개(dog)의 얼굴을 탐색하고 있음을 시각적으로 사용자에게 알리는 예를 나타내고 있다. 또한, 제3 화면 예(1130)는 탐색된 객체와 관련된 텍스트 정보(연관 키워드)로서 "강아지"와 "래브라도리트리버"가 표시되고, 이미지에 대한 이미지 검색 결과가 더 표시된 예를 나타내고 있다. 이러한 텍스트 정보와 이미지 검색 결과는 서버(150)를 통해 제공받을 수 있다. 이때, 탐색된 객체와 관련된 텍스트 정보로서 표시된 "강아지" 또는 "래브라도리트리버"가 표시된 영역이 사용자에게 선택되는 경우, 해당 텍스트 정보를 키워드로 이용한 텍스트 검색 결과가 사용자에게 제공될 수 있다. 또한, 이미지 검색 결과 각각은 사용자에게 선택되는 경우, 해당 검색 결과에 상응하는 페이지가 랜딩될 수 있다.11 shows screen examples 1110 to 1130 of the electronic device 1 (110). The first screen example 1110 shows an example in which an image is displayed, and the second screen example 1120 shows an example in which an object is searched in an image. At this time, the image can be transmitted to the server 150 as the user presses the photographing button. In the server 150, the image retrieval engine 350 and the detec- tion animation generation engine 360 can perform image retrieval and detection animation Can be generated. The second screen example 1120 receives a detecting animation composed of lines connecting the plurality of dots and points from the server 150 and displays it on the screen to visually detect that the dog is searching for a face As shown in FIG. Also, the third screen example 1130 shows an example in which "dog" and "labrador retriever" are displayed as text information (associated keywords) related to the searched object, and image search results for the image are further displayed. The text information and the image search result may be provided through the server 150. At this time, when an area displaying "dog" or "labrador retriever" displayed as text information related to the searched object is selected for the user, a text search result using the corresponding text information as a keyword may be provided to the user. In addition, when each of the image search results is selected by the user, a page corresponding to the search result may be landed.
도 12는 전자 기기 1(110)의 화면 예들(1210 내지 1240)을 도시하고 있다. 제1 화면 예(1210)는 이미지가 표시된 예를 나타내고 있으며, 제2 화면 예(1220)와 제3 화면 예(1230)는 복수의 점들과 점들을 연결하는 선들로 구성되는 디텍팅 애니메이션이 표시되면서 물고기를 탐색하고 있음을 시각적으로 사용자에게 알리는 과정의 예를 나타내고 있다. 또한, 제3 화면 예(1240)는 탐색된 객체와 관련된 텍스트 정보(연관 키워드)로서 "관상어"와 "아시아아로와나"가 표시되고, 이미지에 대한 이미지 검색 결과가 더 표시된 예를 나타내고 있다. 이 경우에도 탐색된 객체와 관련된 텍스트 정보로서 표시된 "관상어" 또는 "아시아아로와나"가 표시된 영역이 사용자에게 선택되는 경우, 해당 텍스트 정보를 키워드로 이용한 텍스트 검색 결과가 사용자에게 제공될 수 있다. 또한, 이미지 검색 결과 각각은 사용자에게 선택되는 경우, 해당 검색 결과에 상응하는 페이지가 랜딩될 수 있다.12 shows screen examples 1210 to 1240 of the electronic device 1 (110). The first screen example 1210 shows an example in which an image is displayed and the second screen example 1220 and the third screen example 1230 show a detaching animation composed of lines connecting a plurality of dots and points, And an example of a process of visually informing the user that the fish is being searched. Also, the third screen example 1240 shows an example in which "aquarium fish" and "Asian arowana" are displayed as text information (associated keywords) related to the searched object, and image search results for the image are further displayed. In this case, when an area displaying "aquarium fish" or "Asian aurora" displayed as text information related to the searched object is selected by the user, a text search result using the text information as a keyword can be provided to the user. In addition, when each of the image search results is selected by the user, a page corresponding to the search result may be landed.
도 13 내지 도 15 역시 도 11 및 도 12에서와 같이 이미지 검색 결과를 제공하는 과정들의 예를 나타내고 있다. 도 13은 꽃의 외곽라인을 따라 디텍팅하여 객체를 인식하고, 디텍팅 애니메이션과 이미지 검색 결과를 제공하는 과정을, 도 14는 고양이 얼굴을 외곽라인을 따라 디텍팅하여 객체를 인식하고, 디텍팅 애니메이션과 이미지 검색 결과를 제공하는 과정을, 도 15는 에펠탑을 외곽라인을 따라 디텍팅하여 객체를 인식하고, 디텍팅 애니메이션과 이미지 검색 결과를 제공하는 과정을 각각 나타내고 있다.FIGS. 13 to 15 also show examples of processes for providing image search results as shown in FIGS. 11 and 12. FIG. FIG. 13 illustrates a process of recognizing an object through detec- tion along a contour line of a flower, providing a detec- tion animation and an image search result, FIG. 14 illustrates a process of recognizing an object by detecting a cat face along an outline, FIG. 15 illustrates the process of providing an animation and an image search result, FIG. 15 illustrates a process of recognizing an object by detecting an Eiffel tower along an outline line, and providing a detecting animation and an image search result.
도 16은 본 발명의 일실시예에 있어서, 이미지 검색 결과를 제공하는 예들을 나타낸 도면이고, 도 17은 본 발명의 일실시예에 있어서, 주요 컬러를 추출하여 채도를 제한하는 예를 도시한 도면이다. 도 16은 이미지의 주요 컬러를 오토픽 기술을 이용하여 추출하고, 추출된 주요 컬러를 연관 키워드나 이미지 검색 결과의 노출에 활용하는 예를 도시하고 있다. 이때, 텍스트의 시인성을 고려하여 HSB(Hue-Saturation-Brightness)값에서 채도(S)나 명도(B)의 수치를 50~70% 범위로 제한하여 활용할 수 있다. 도 17은 컬러 픽커(color picker)를 이용하여 주요 컬러를 추출하여 채도의 수치를 50%로 제한한 예를 나타내고 있다.FIG. 16 is a diagram illustrating examples of providing an image search result in an embodiment of the present invention. FIG. 17 is a diagram illustrating an example of limiting the saturation by extracting a main color in an embodiment of the present invention to be. FIG. 16 shows an example of extracting a main color of an image using an auto technique and utilizing the extracted main color for exposure of a related keyword or an image search result. In this case, the saturation (S) and the brightness (B) values may be limited to a range of 50 to 70% in the hue-saturation-brightness (HSB) value in consideration of the visibility of the text. FIG. 17 shows an example in which the main color is extracted using a color picker to limit the saturation value to 50%.
도 18 내지 도 20은 본 발명의 일실시예에 있어서, 이미지 검색 결과를 제공하는 예들을 나타낸 도면들이다. 도 18 내지 도 20은 "인물_국내", "인물_그룹", "인물_국외", "백과_동물", "백과_명화", "백과_와인", "명소", "지역", "국내_플레이스" 등과 같이 다양한 유형에 따라 미리 디자인된 템플릿을 통해 이미지 검색 결과 중 특정 검색 결과를 정답형 카드의 형태로 구현하여 제공하는 예들을 나타내고 있다. 이 경우에도 텍스트의 시인성을 고려하여 HSB(Hue-Saturation-Brightness)값에서 채도나 명도의 수치를 50~70% 범위로 제한하여 활용할 수 있다.18 to 20 are views showing examples of providing an image search result in an embodiment of the present invention. Figures 18 to 20 illustrate the results of a method of determining whether a person is a member of a group of persons, such as "person_domain", "person_group", "person_outside", " And " Domestic Place ", and the like, the specific search result of the image search result is implemented in the form of the correct answer card through the template designed in advance according to various types. In this case, the saturation or brightness value of the HSV (Hue-Saturation-Brightness) value may be limited to 50 to 70% in view of the visibility of the text.
도 21 내지 도 24는 본 발명의 일실시예에 있어서, 디텍팅 애니메이션을 표시하는 예들을 도시한 도면들이다.FIGS. 21 to 24 illustrate examples of displaying a detecting animation in an embodiment of the present invention. FIG.
디텍팅 애니메이션 생성 방법은 아래와 같다. 예를 들어, 앞서 설명한 디텍팅 애니메이션 생성 엔진(360)에 의해 디텍팅 애니메이션 생성 방법이 수행될 수 있다.The method of generating the detection animation is as follows. For example, a detection animation generation method may be performed by the detection animation generation engine 360 described above.
(1) 전처리 과정: 그레이 스케일, 블러링, 엣지 디텍션 등 이미지 탐색에 요구되는 전처리를 수행하는 과정.(1) Preprocessing process: Performing the pre-processing required for image search such as grayscale, blurring, and edge detection.
(2) 객체 탐색(Object Detection): 입력된 영상 내에서 객체를 검색하여, 해당 객체를 포함하는 바운딩 박스(bounding box)를 생성하는 과정. 객체의 검색은 일반적으로 잘 알려진 객체 탐색 기술이 활용될 수 있으며, 생성된 바운딩 박스의 영역에 대하여 다음 과정이 수행될 수 있다.(2) Object Detection: The process of searching for an object in the input image and creating a bounding box containing the object. In general, a well-known object search technique can be used to search for an object, and the following process can be performed on the generated bounding box area.
(3) 객체의 윤곽선 중에서 의미가 있는 특징점을 추출하는 과정. 일례로, FAST 알고리즘을 사용하여 기설정된 수(일례로, 수백 개 정도)의 특징점들이 추출될 수 있다.(3) The process of extracting meaningful feature points from the outline of an object. For example, a predetermined number of feature points (e.g., several hundreds) can be extracted using the FAST algorithm.
(4) 추출된 특징점에 대한 컨벡스 홀(convex hull)을 생성하는 과정. 일례로, 해당 특징점들을 모두 포함하는 볼록 다각형이 컨벡스 홀로서 생성될 수 있으며, 이러한 컨벡스 홀의 생성은 이미 알려진 알고리즘을 통해 생성될 수 있다.(4) The process of generating a convex hull for extracted minutiae. For example, a convex polygon including all of the feature points may be generated as a convex hole, and the generation of the convex hole may be generated through a known algorithm.
(5) 만일 컨벡스 홀을 구성하는 점이 미리 정해진 수(일례로, 6개)에 미치지 못하는 경우 추가 단계를 진행하여 필요한 개수가 될 때까지 점을 추가하는 과정. 일례로, 컨벡스 홀을 이루는 두 점 사이의 중간에서 가장 가까운 특징점을 선택하여 컨벡스 홀을 구성하기 위한 점으로 활용할 수 있다.(5) If the point constituting the convex hole does not reach a predetermined number (for example, 6), proceeding to an additional step to add points until the necessary number is reached. For example, it can be used as a point for constructing a convex hole by selecting a feature point closest to the middle between two points constituting a convex hole.
(6) 상술한 (4), (5)에서 선택한 점들로 외곽선을 이루는 점들(외곽점)을 구성하고, 외곽점들의 중심 좌표(중심점)를 계산하는 과정. 일례로, 각 좌표들의 (X값의 평균, Y값의 평균)의 점을 중심점으로서 계산할 수 있다.(6) The process of constructing outline points (outline points) forming outlines with the points selected in (4) and (5) and calculating the center coordinates (center point) of outline points. For example, a point of each coordinate (average of X values and average of Y values) can be calculated as a center point.
(7) 각 외곽점들에 대하여, 외곽점과 중심점과의 사이의 중간값과 가장 가까운 특징점을 선택하는 과정(7) For each of the outer points, a process of selecting a feature point closest to the middle value between the outer point and the center point
(8) 내부에 선을 추가하고자 하는 경우에 (6), (7) 단계 반복하는 과정. 한 단계의 선들만 연결하는 경우에는 생략될 수 있다.And repeating steps (6) and (7) when it is desired to add a line to the inside of the object (8). It can be omitted if only one level of lines are connected.
(9) 점의 좌표와 애니메이션 순서를 반환하거나 또는 생성된 애니메이션을 반환하는 과정.(9) The process of returning the coordinates and animation sequence of points, or returning the generated animation.
이러한 (1) 내지 (9)의 과정들에 따른 디텍팅 애니메이션의 생성 과정은 하나의 실시예로서 디자인에 따라 다양한 형태로 변형하여 생성할 수도 있다.The process of generating the detecting animation according to the processes (1) to (9) may be modified into various forms according to the design as one embodiment.
예를 들어, 도 21에서는 5개의 점들로 구성되는 컨벡스 홀과 뎁스(depth) 3의 점들을 연결하여 삼각형 구조를 갖는 디텍팅 애니메이션을 나타내고 있다. 보다 자세하게, 도 21은 컨벡스 홀인 객체 윤곽에 5각형 도트를 형성하여 연결하고, 뎁스 2 도트를 형성하여 5각형 도트와 연결하며, 뎁스 2 도트의 좌우를 연결하고, 뎁스 3 도트인 중심점을 형성하여 뎁스 2 도트와 뎁스 3 도트를 상하 연결함으로서 디텍팅 애니메이션의 형태를 생성하는 예를 나타내고 있다. 이때, 뎁스 2 도트가 5각형 도트들간의 연결선의 중심과 중심점(뎁스 3 도트)를 연결한 선의 1/3 지점에 형성되는 예를 나타내고 있다.For example, FIG. 21 shows a detecting animation having a triangle structure by connecting points of a convex hole and a depth 3, which are composed of five points. More specifically, FIG. 21 shows a case in which pentagonal dots are formed and connected to an outline of an object which is a convex hole, two dots of depth are formed and connected to pentagonal dots, a left and a right of two dots of depth are connected, An example of generating a detecting animation form by vertically connecting two dots of depth and three dots of depth is shown. At this time, an example in which the depth 2 dots are formed at one-third of the line connecting the center of the connecting line between the pentagonal dots and the center point (depth 3 dots) is shown.
또한, 도 22에서는 9개의 점들로 구성되는 컨벡스 홀과 뎁스 3의 점들을 연결하여 삼각형과 사각형 구조를 갖는 디텍팅 애니메이션을 나타내고 있다. 이러한 도 22에서는 윤곽 도트(컨벡스 홀을 구성하는 9개의 점들)에서 중심도트(중심점)까지의 직선상에서 색상차이가 기설정된 차이 이상인 좌표(일례로, 윤곽도트의 시작점 RGB 값 중 B값에서 20 이상의 차이가 나는 위치)에 도트를 표시하고, 동일한 뎁스의 도트끼리는 좌우를 연결하고, 상하 뎁스의 도트들간에는 제일 가까운 거리의 도트를 연결하여 디텍팅 애니메이션의 형태를 생성하는 예를 나타내고 있다.In addition, FIG. 22 shows a detecting animation having a triangle and a quadrilateral structure by connecting points of a convex hole and a depth 3, which are composed of nine dots. In Fig. 22, the color difference between the contour dot (nine points constituting the convex hole) and the center dot (center point) is not less than a predetermined value (for example, 20 or more from the B value of the starting point RGB value of the contour dot And a dot having the closest distance between the dots of the upper and lower depths is connected to generate a detecting animation form.
또한, 도 23과 도 24에서는 삼각형 구조의 색을 달리함으로써 입체감을 주고, 동시에 투명도를 조절하는 예들을 나타내고 있다. 다시 말해, 도 23보다 도 24에서 삼각형 구조에서의 투명도가 더 높아진 예를 나타내고 있다.In FIGS. 23 and 24, examples of varying the color of the triangular structure to give a three-dimensional effect and simultaneously controlling the transparency are shown. In other words, FIG. 23 shows an example in which the transparency in the triangular structure is higher in FIG.
도 25는 본 발명의 일실시예에 있어서, 디텍팅 애니메이션의 예를 도시한 도면이다. 도 25는 도 15를 통해 설명한 에펠탑에 대한 디텍팅 애니메이션이 단순히 이미지의 형태가 아니라 도 25에 순차적으로 나타난 그림들과 같이 점들과 점들을 연결하는 선들의 표시를 반복함에 따라 이러한 디텍팅 애니메이션이 사용자가 검색 결과를 기다리는 동안 사용자에게 흥미를 유발하고, 검색 결과가 지연되지 않는 느낌을 주기 위한 효과로서 활용될 수 있음을 나타내고 있다. 이때, 디텍팅 애니메이션은 이미 설명한 바와 같이 점들과 선의 굵기나 크기, 밝기, 색상 등을 변화하여 추가적인 애니메이션 효과를 줄 수도 있으며, 도 23과 도 24에서 설명한 바와 같이 삼각형 구조나 사각형 구조에 색을 서로 다르게 적용함으로써 입체감을 주거나 또는 색의 투명도를 조절하여 이미지가 표시되는 정도를 결정할 수도 있다.25 is a diagram showing an example of a detection animation in an embodiment of the present invention. FIG. 25 is a view showing a result of the detection of the animation of the Epithelial Top described with reference to FIG. 15, as a result of repeating display of lines connecting points and dots as shown in FIG. 25, It can be utilized as an effect for inducing the user's interest while waiting for the search result and giving the user the feeling that the search result is not delayed. At this time, as described above, the detecting animation may change the thickness, size, brightness, color, etc. of dots and lines to give additional animation effects. As described in FIGS. 23 and 24, By applying differently, it is possible to determine the extent to which the image is displayed by giving a three-dimensional effect or adjusting the transparency of the color.
도 26은 본 발명의 일실시예에 따른 이미지 처리 방법의 예를 도시한 흐름도이다. 본 실시예에 따른 이미지 처리 방법은 앞서 설명한 전자 기기 1(110)과 같은 컴퓨터 장치에 의해 수행될 수 있다. 예를 들어, 전자 기기 1(110)의 프로세서(212)는 메모리(211)가 포함하는 운영체제의 코드나 적어도 하나의 컴퓨터 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(212)는 전자 기기 1(110)에 저장된 코드가 제공하는 제어 명령에 따라 전자 기기 1(110)이 도 26의 이미지 처리 방법이 포함하는 단계들(2610 내지 2640)을 수행하도록 전자 기기 1(110)을 제어할 수 있다.26 is a flowchart showing an example of an image processing method according to an embodiment of the present invention. The image processing method according to the present embodiment can be performed by a computer apparatus such as the above-described electronic apparatus 1 (110). For example, the processor 212 of the electronic device 1 110 may be implemented to execute a control instruction according to code of an operating system included in the memory 211 or code of at least one computer program. Here, the processor 212 controls the electronic device 1 (110) to perform the steps 2610 to 2640 included in the image processing method of FIG. 26 according to the control command provided by the code stored in the electronic device 1 (110) It is possible to control the device 1 (110).
단계(2610)에서 컴퓨터 장치는 이미지 처리 모드로 진입함에 응답하여 카메라 모듈을 구동할 수 있다. 일례로, 컴퓨터 장치에 설치된 어플리케이션은 이미지 처리 모드로의 진입을 위한 사용자 인터페이스를 사용자에게 제공할 수 있다. 사용자의 사용자 인터페이스에 대한 입력이 발생하는 경우, 컴퓨터 장치는 발생되는 입력에 따라 진입하는 이미지 처리 모드에 따라 카메라 모듈을 구동할 수 있다.In step 2610, the computer device may drive the camera module in response to entering the image processing mode. In one example, an application installed on a computer device may provide a user interface for entering the image processing mode to the user. When an input to the user's user interface occurs, the computer device can drive the camera module according to the entering image processing mode according to the generated input.
단계(2620)에서 컴퓨터 장치는 구동된 카메라 모듈을 통해 연속적으로 이미지들의 스트림을 입력받아 순차적으로 화면에 표시할 수 있다. 예를 들어, 스마트폰에서 카메라가 구동되는 경우, 카메라를 통해 입력되어 스마트폰의 화면에 실시간으로 표시되는 영상이 이러한 이미지들의 스트림에 대응될 수 있다.In step 2620, the computer device may sequentially receive and sequentially display a stream of images through the driven camera module. For example, when a camera is operated in a smartphone, an image input through a camera and displayed in real time on a screen of a smartphone may correspond to a stream of such images.
단계(2630)에서 컴퓨터 장치는 입력받은 이미지들의 스트림을 인식 엔진으로 전달할 수 있다. 카메라 모듈은 지속적으로, 그리고 실시간적으로 입력되는 이미지들의 스트림을 인식 엔진으로 전달할 수 있으며, 인식 엔진은 이미지들의 스트림을 분석하여 인식 엔진이 목적하는 인식 결과를 생성할 수 있다. 예를 들어, 도 3의 실시예에서는 전자 기기 1(110)이 OCR 인식 엔진(320)과 같은 텍스트 인식 엔진과 바코드 인식 엔진(330) 및 QR 코드 인식 엔진(340)과 같은 이미지 코드 인식 엔진들을 포함하는 예를 설명한 바 있다.In step 2630, the computer device may deliver a stream of received images to the recognition engine. The camera module can deliver a continuous stream of images to the recognition engine on a continuous and real-time basis, and the recognition engine can analyze the stream of images to generate the recognition results desired by the recognition engine. For example, in the embodiment of FIG. 3, electronic device 1 110 includes a text recognition engine, such as OCR recognition engine 320, and image code recognition engines, such as bar code recognition engine 330 and QR code recognition engine 340, An example of including this has been described.
단계(2640)에서 컴퓨터 장치는 입력받은 이미지들의 스트림에 대해 인식 엔진에 의해 인식된 인식 결과가 존재하는 경우, 인식 결과를 입력받은 이미지들의 스트림을 순차적으로 표시 중인 화면 상에 더 표시할 수 있다. 예를 들어, 인식 엔진은 인식 결과로서 입력받은 이미지들이 포함하는 텍스트를 인식하는 텍스트 인식 엔진을 포함할 수 있다. In step 2640, when there is a recognition result recognized by the recognition engine for the stream of the received images, the computer device may further display the stream of the received images on the screen being displayed sequentially. For example, the recognition engine may include a text recognition engine that recognizes text included in the images received as recognition results.
이때, 텍스트 인식 엔진에 의해 인식된 인식 결과가 존재하는 경우, 단계(2640)에서 컴퓨터 장치는, 입력받은 이미지들에서 인식되는 텍스트 영역의 위치에 기반하여 인식된 텍스트의 표시 위치를 동적으로 조절할 수 있다. 예를 들어, 도 4의 제1 화면 예(410)는 이미지에서 텍스트가 포함된 영역의 위치에 인식된 텍스트가 표시되는 예를 나타내고 있다. 다른 예로, 도 5의 제2 화면 예(520)에서도 텍스트가 인식됨에 따라 해당 텍스트의 이미지 내에서의 위치와 유사한 위치에 인식된 텍스트들을 표시하는 예를 설명하고 있다. 예를 들어, 스마트폰과 같은 컴퓨터 장치가 사용자의 손에서 흔들림에 따라 입력받은 이미지들에서 동일한 텍스트 영역의 위치가 지속적으로 변경될 수도 있다. 이 경우, 컴퓨터 장치는 텍스트 영역의 위치가 변경됨에 따라 텍스트 영역의 위치를 추적하여 추적되는 위치에 인식된 텍스트가 표시될 수 있도록 텍스트의 표시 위치를 동적으로 조절할 수 있다.At this time, if the recognition result recognized by the text recognition engine exists, the computer device can dynamically adjust the display position of the recognized text based on the position of the text area recognized in the input images in step 2640 have. For example, the first screen example 410 of FIG. 4 shows an example in which recognized text is displayed at a location of an area containing text in an image. As another example, in the second screen example 520 of FIG. 5, an example in which recognized text is displayed at a position similar to a position in the image of the text as the text is recognized is described. For example, as the computer device such as a smart phone shakes in the user's hand, the position of the same text area in the received images may be continuously changed. In this case, the computer device can dynamically adjust the display position of the text so that the recognized text can be displayed at the tracked position by tracking the position of the text area as the position of the text area is changed.
또한, 단계(2640)에서 컴퓨터 장치는, 입력받은 이미지들의 스트림을 순차적으로 표시 중인 화면 상에 상기 인식된 텍스트를 표시하되, 입력받은 이미지들 중 텍스트가 인식된 이미지에서의 텍스트 영역의 위치에 기반하여 인식된 텍스트의 표시 위치를 결정할 수 있다. 예를 들어, 컴퓨터 장치는 앞서 설명한 바와 같이 텍스트 영역의 위치가 변경됨에 따라 인식된 텍스트의 표시 위치를 동적으로 조절하다가, 텍스트의 인식이 최종적으로 완료되면, 최종적으로 텍스트가 인식된 위치에 인식된 텍스트를 표시할 수 있다. 이 경우에는 입력받은 이미지들에서 텍스트 영역의 위치가 지속적으로 변경되거나 또는 텍스트가 없는 다른 이미지들이 지속적으로 입력되는 경우에도 인식된 텍스트의 표시 위치가 고정될 수 있다.In addition, in step 2640, the computer device displays the recognized text on the screen sequentially displaying the streams of the input images, wherein the text of the input images is based on the position of the text area in the recognized image The display position of the recognized text can be determined. For example, as described above, the computer device dynamically adjusts the display position of the recognized text as the position of the text area is changed, and when the recognition of the text is finally completed, The text can be displayed. In this case, the display position of the recognized text may be fixed even if the position of the text area continuously changes in the received images or other images without text are continuously input.
또한, 컴퓨터 장치는 입력받은 이미지들의 스트림에 대해 인식된 텍스트에 대한 사용자 확인을 위한 사용자 인터페이스를 입력받은 이미지들의 스트림을 순차적으로 표시 중인 화면 상에 더 표시할 수도 있다. 예를 들어, 텍스트 인식 엔진에 의해 텍스트의 인식이 최종적으로 완료된 후, 컴퓨터 장치는 최종적으로 인식된 텍스트에 대해 사용자의 확인을 받는 과정을 처리할 수 있다. 예를 들어, 도 4의 제2 화면(420)은 문자인식 버튼과 같이 인식된 텍스트를 사용자에게 확인받기 위한 사용자 인터페이스를 표시한 예를 도시하고 있다. 이때, 컴퓨터 장치의 화면에는 여전히 이미지들의 스트림이 실시간으로 표시 중일 수 있다.In addition, the computer device may further display a stream of input images on a screen being displayed sequentially, through a user interface for user confirmation of the recognized text with respect to a stream of inputted images. For example, after the recognition of the text is finally completed by the text recognition engine, the computer device can finally process the process of receiving the user's confirmation of the recognized text. For example, the second screen 420 shown in FIG. 4 shows an example of displaying a user interface for confirming a recognized text such as a character recognition button. At this time, a stream of images may still be displayed in real time on the screen of the computer device.
이때, 인식된 텍스트를 사용자에게 확인받기 위한 사용자 인터페이스를 통해 사용자 확인의 발생 시, 컴퓨터 장치는 입력받은 이미지들 중 텍스트가 표시된 이미지를 화면에 표시할 수 있다. 예를 들어, 컴퓨터 장치는 입력받은 이미지들 중 제1 이미지를 통해 사용자에게 확인받은 텍스트가 인식되었다면, 이미지들의 스트림을 화면에 표시하는 대신, 이미 표시되었던 제1 이미지를 화면에 표시할 수 있다. 또한, 컴퓨터 장치는 화면에 표시된 이미지상에 인식된 텍스트의 복사를 위한 사용자 인터페이스 및 인식된 텍스트의 번역을 위한 사용자 인터페이스 중 적어도 하나를 더 표시할 수 있다. 예를 들어, 도 4 및 도 5는 '복사' 버튼 및 '번역' 버튼과 같이 인식된 텍스트의 복사와 번역을 위한 사용자 인터페이스들이 표시된 예를 나타내고 있다.At this time, when a user confirmation is made through a user interface for confirming the recognized text to the user, the computer device can display an image displaying the text of the received images on the screen. For example, if the text recognized by the user is recognized through the first image of the input images, the computer device may display the first image that has already been displayed on the screen instead of displaying the stream of images on the screen. The computer device may further display at least one of a user interface for copying the recognized text on the image displayed on the screen and a user interface for the translation of the recognized text. For example, FIGS. 4 and 5 show examples of user interfaces for copying and translating recognized text, such as a 'Copy' button and a 'Translation' button.
또한, 컴퓨터 장치는 인식된 텍스트의 글자수에 따라 인식된 텍스트의 크기를 동적으로 변경하여 화면에 표시할 수도 있다. 예를 들어, 도 6 내지 도 8에서는 인식된 텍스트에서 글자 수가 증가함에 따라 인식된 텍스트의 크기를 동적으로 줄여가면서 화면에 표시하는 예를 설명한 바 있다.Also, the computer device may dynamically change the size of the recognized text according to the number of characters of the recognized text, and display the changed size on the screen. For example, in FIGS. 6 to 8, an example has been described in which the recognized text is dynamically reduced and displayed on the screen as the number of characters in the recognized text increases.
또한, 다른 예로, 인식 엔진은 입력받은 이미지들이 포함하는 이미지 코드를 인식하기 위한 이미지 코드 인식 엔진을 포함할 수도 있다. 이 경우, 컴퓨터 장치는 단계(2640)에서 화면에 순차적으로 표시되는 이미지들에서 인식된 이미지 코드에 대응하는 페이지로의 링크를 인식 결과로서 입력받은 이미지들의 스트림을 순차적으로 표시 중인 화면 상에 더 표시할 수 있다. 예를 들어, 도 9에서는 인식된 바코드에 대응하는 페이지로의 링크를 '바코드' 버튼을 통해 표시한 예를 나타내고 있으며, 도 10에서는 인식된 QR 코드에 대응하는 페이지로의 링크를 'QR코드' 버튼을 통해 표시한 예를 나타내고 있다.Further, as another example, the recognition engine may include an image code recognition engine for recognizing the image code included in the received images. In this case, the computer device displays a stream of images sequentially received as a recognition result of the link to the page corresponding to the recognized image code in the images sequentially displayed on the screen in step 2640, can do. For example, FIG. 9 shows an example of displaying a link to a page corresponding to a recognized bar code through a 'barcode' button. In FIG. 10, a link to a page corresponding to the recognized QR code is referred to as a 'QR code' Button is displayed.
실시예에 따라 인식 엔진은 텍스트 인식 엔진과 이미지 코드 인식 엔진과 같이 복수의 인식 엔진들을 포함할 수도 있으며, 이 경우 카메라 모듈을 통해 입력되는 이미지들의 스트림은 복수의 인식 엔진들 각각으로 입력될 수 있다.According to an embodiment, the recognition engine may comprise a plurality of recognition engines, such as a text recognition engine and an image code recognition engine, in which case a stream of images input via the camera module may be input to each of a plurality of recognition engines .
이상에서 설명한 단계들(2610 내지 2640)은 카메라를 통한 사용자의 촬영이 이루어지기 이전에 카메라를 통해 입력되는 이미지들의 스트림을 통해 컴퓨터 장치가 자동으로 텍스트, 이미지 코드 등을 인식하여 관련 정보를 표시하는 실시예를 설명하고 있다. 다시 말해, 이미지 처리 모드로 진입함에 응답하여 사용자가 촬영 버튼을 눌러 특정 시점의 이미지를 선택하지 않더라도 입력되는 이미지들의 스트림 전체에 대한 분석을 통해 자동으로 텍스트나 이미지 코드에 대한 인식 결과를 제공할 수 있다.The steps 2610 to 2640 described above may be performed in such a manner that the computer device automatically recognizes text, image codes, and the like through a stream of images input through the camera before the user's photographing through the camera is performed An embodiment is described. In other words, in response to entering the image processing mode, even if the user does not select an image at a specific point in time by pressing the photographing button, the recognition result for the text or image code can be automatically provided have.
한편, 사용자가 촬영 버튼을 눌러 특정 이미지가 선택되는 경우 컴퓨터 장치는 앞의 실시예와는 다른 기능을 사용자에게 제공할 수 있다.On the other hand, when the user presses the photographing button to select a specific image, the computer device can provide the user with a function different from the previous embodiment.
도 27은 본 발명의 일실시예에 따른 이미지 처리 방법의 다른 예를 도시한 도면이다. 본 실시예에 따른 이미지 처리 방법 역시 앞서 설명한 전자 기기 1(110)과 같은 컴퓨터 장치에 의해 수행될 수 있다. 이때, 도 27의 단계들(2710 내지 2750)은 도 26의 단계(2620) 이후, 촬영 입력이 발생하는 경우에 수행될 수 있으며, 도 27의 단계들이 수행되는 경우 단계(2630) 및 단계(2640)은 생략될 수도 있다.27 is a view showing another example of the image processing method according to the embodiment of the present invention. The image processing method according to the present embodiment can also be performed by a computer apparatus such as the electronic apparatus 1 (110) described above. Steps 2710 through 2750 of FIG. 27 may be performed after the step 2620 of FIG. 26, when a shooting input occurs, and when steps of FIG. 27 are performed, steps 2630 and 2640 ) May be omitted.
단계(2710)에서 컴퓨터 장치는 입력받은 이미지들의 스트림을 순차적으로 표시하는 도중에 촬영 입력이 발생하는 경우, 촬영 입력의 발생 시점과 연관된 이미지를 캡쳐하여 화면에 표시할 수 있다. 이러한 단계(2710)은 사용자에 의한 촬영 입력의 발생에 따라 사진을 찍는 과정을 의미할 수 있다.In step 2710, when a shooting input occurs during the sequential display of a stream of input images, the computer device may capture an image associated with the shooting input occurrence time and display the captured image on the screen. This step 2710 may refer to a process of taking a picture according to the occurrence of a photographing input by a user.
단계(2720)에서 컴퓨터 장치는 캡쳐된 이미지를 서버로 전송할 수 있다. 일례로, 서버는 앞서 설명한 서버(150)와 같은 컴퓨터 장치에 대응할 수 있으며, 캡쳐된 이미지는 네트워크(170)를 통해 서버로 전송될 수 있다.In step 2720, the computer device may send the captured image to the server. In one example, the server may correspond to a computer device such as the server 150 described above, and the captured image may be transmitted to the server via the network 170. [
단계(2730)에서 컴퓨터 장치는 서버로부터 전송된 이미지가 포함하는 객체에 대한 디텍팅 애니메이션을 수신할 수 있다. 일례로, 디텍팅 애니메이션은 객체의 윤곽선 중에서 추출되는 복수의 특징점들을 복수의 특징점들이 추출된 이미지상의 위치에 표시하고, 표시되는 특징점들 중 적어도 일부의 특징점들을 선으로 연결하는 애니메이션을 포함할 수 있다.In step 2730, the computer device may receive a detaching animation for an object included in the image transmitted from the server. For example, the detection animation may include an animation that displays a plurality of feature points extracted from an outline of an object at a position on an extracted image of a plurality of feature points, and connects at least some feature points of the displayed feature points with lines .
단계(2740)에서 컴퓨터 장치는 디텍팅 애니메이션을 객체와 연관하여 화면에 표시할 수 있다. 디텍팅 애니메이션을 객체와 연관하여 화면에 표시하는 예는 도 11 내지 도 15, 그리고 도 21 내지 도 25를 통해 설명한 바 있다.In step 2740, the computing device may display the detection animation in association with the object. Examples of displaying the detection animation in association with the object on the screen have been described with reference to Figs. 11 to 15, and Figs. 21 to 25. Fig.
단계(2750)에서 컴퓨터 장치는 서버로부터 전송된 이미지에 대한 이미지 분석 결과를 수신하여 화면에 표시된 이미지와 연계하여 표시할 수 있다. 이미지 분석 결과는 이미지가 포함하는 객체의 종류 및/또는 이름을 포함할 수 있으며, 객체와 관련하여 서버에서 검색된 이미지, 문서, 텍스트 중 적어도 하나를 더 포함할 수 있다.In step 2750, the computer device receives the image analysis result of the image transmitted from the server and displays the image analysis result in association with the image displayed on the screen. The image analysis result may include a kind and / or name of an object included in the image, and may further include at least one of images, documents, and text retrieved from the server in association with the object.
도 28은 본 발명의 일실시예에 따른 이미지 처리 방법의 또 다른 예를 도시한 도면이다. 본 실시예에 따른 이미지 처리 방법은 앞서 설명한 서버(150)와 같은 컴퓨터 장치에 의해 수행될 수 있다. 예를 들어, 서버(150)의 프로세서(222)는 메모리(221)가 포함하는 운영체제의 코드나 적어도 하나의 컴퓨터 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(222)는 서버(150)에 저장된 코드가 제공하는 제어 명령에 따라 서버(150)가 도 28의 이미지 처리 방법이 포함하는 단계들(2810 내지 2850)을 수행하도록 서버(150)를 제어할 수 있다.28 is a diagram showing another example of the image processing method according to the embodiment of the present invention. The image processing method according to the present embodiment can be performed by a computer apparatus such as the server 150 described above. For example, the processor 222 of the server 150 may be implemented to execute control instructions in accordance with the code of the operating system or the code of at least one computer program that the memory 221 contains. Here, the processor 222 determines whether the server 150 performs the steps 2810 through 2850 included in the image processing method of FIG. 28 in accordance with the control command provided by the code stored in the server 150 Can be controlled.
단계(2810)에서 컴퓨터 장치는 전자 기기의 카메라 모듈을 통해 캡쳐된 이미지를 네트워크를 통해 수신할 수 있다. 여기서, 전자 기기는 앞서 설명한 전자 기기 1(110)에 대응할 수 있으며, 수신되는 이미지는 도 27의 단계(2720)에서 전송된 이미지에 대응될 수 있다. 다시 말해, 전자 기기 1(110)이 사용자의 촬영 입력의 발생에 따라 캡쳐된 이미지를 네트워크(170)를 통해 전송하면, 서버(150)가 단계(2810)에서 해당 이미지를 수신할 수 있다.In step 2810, the computer device may receive the captured image via the camera module of the electronic device over the network. Here, the electronic device may correspond to the electronic device 1 (110) described above, and the received image may correspond to the image transmitted in step 2720 of FIG. In other words, when the electronic device 1 (110) transmits the captured image through the network 170 according to the occurrence of the user's shooting input, the server 150 can receive the image in step 2810.
단계(2820)에서 컴퓨터 장치는 수신된 이미지가 포함하는 객체에 대한 디텍팅 애니메이션을 생성할 수 있다. 이미 설명한 바와 같이 디텍팅 애니메이션은 객체의 윤곽선 중에서 추출되는 복수의 특징점들을 복수의 특징점들이 추출된 이미지상의 위치에 표시하고, 표시되는 특징점들 중 적어도 일부의 특징점들을 선으로 연결하는 애니메이션을 포함할 수 있다.In step 2820, the computing device may generate a detaching animation for the object that the received image contains. As described above, the detection animation may include an animation that displays a plurality of feature points extracted from an outline of an object at a position on the extracted image of the plurality of feature points, and connects at least some of the feature points of the displayed feature by lines. have.
단계(2830)에서 컴퓨터 장치는 생성된 디텍팅 애니메이션을 전자 기기로 전송할 수 있다. 이 경우, 도 27의 단계(2730)를 통해 설명한 바와 같이 전자 기기는 디텍팅 애니메이션을 수신하여 단계(2740)에서와 같이 수신된 디텍팅 애니메이션을 객체와 연관하여 화면에 표시할 수 있다.In step 2830, the computer device may transmit the generated detecting animation to the electronic device. In this case, as described through step 2730 of FIG. 27, the electronic device may receive the detection animation and display the received detection animation in association with the object on the screen, as in step 2740.
단계(2840)에서 컴퓨터 장치는 수신된 이미지에 대한 이미지 검색 결과를 생성할 수 있다. 이미지 검색 결과는 이미지에 포함된 객체의 종류 및/또는 이름을 포함할 수 있으며, 객체와 관련하여 검색된 이미지, 문서 및/또는 텍스트를 더 포함할 수 있다. In step 2840, the computer device may generate an image search result for the received image. The image search result may include the type and / or name of an object included in the image, and may further include an image, document and / or text retrieved in association with the object.
단계(2850)에서 컴퓨터 장치는 생성된 이미지 검색 결과를 전자 기기로 전송할 수 있다. 이때, 객체의 종류 및/또는 이름은 전자 기기의 카메라를 통해 입력된 이미지와 오버랩되어 전자 기기의 화면에 표시될 수 있다. 또한, 검색된 이미지, 문서 및/또는 텍스트는 대응하는 페이지로의 링크를 포함하여 전자 기기의 카메라 모듈을 통해 입력된 이미지와 연계되어 전자 기기의 화면에 더 표시될 수 있다. 예를 들어, 도 12는 '관상어', '아시아아로와나'와 같이, 인식된 객체의 종류나 이름을 표시하고, 추가적으로 이미지를 통한 인터넷 검색의 결과로서 이미지, 문서 및/또는 텍스트를 이미지와 연계하여 표시하는 예를 나타내고 있다.In step 2850, the computer device may send the generated image search results to the electronic device. At this time, the type and / or the name of the object may overlap with the image input through the camera of the electronic device and displayed on the screen of the electronic device. Further, the retrieved image, document and / or text may be further displayed on the screen of the electronic device in association with the image input through the camera module of the electronic device, including a link to the corresponding page. For example, Figure 12 shows the types and names of recognized objects, such as 'ornamental language' and 'Asian arowana', and further associates images, documents and / or text with images as a result of an Internet search through images Is displayed.
또한, 컴퓨터 장치는 수신된 이미지가 포함하는 객체와 관련하여 검색된 정보의 유형에 따라 유형별로 미리 디자인된 템플릿을 통해 검색된 정보를 카드의 형태로 구현하여 전자 기기로 제공할 수도 있다. 예를 들어, 도 18 내지 도 20은 정보의 유형(인물_국내, 인물_그룹, 인물_국외, 백과_동물, 백과_명화, 백과_와인, 명소, 지역, 국내_플레이스 등) 각각에 대해 미리 디자인된 템플릿이 존재하며, 검색된 정보의 유형에 따라 해당 유형의 템플릿을 통해 검색된 정보가 카드의 형태로 구현되어 제공되는 예를 설명하고 있다.In addition, the computer device may implement the information retrieved through the template designed in advance for each type according to the type of the information retrieved in association with the object included in the received image, in the form of a card, and provide the retrieved information to the electronic device. For example, Figs. 18 to 20 illustrate examples of the types of information (person_domain, person_group, person_outside, bag_ animal, bag_furniture, bag_wine, spot, area, domestic_place, etc.) There is a pre-designed template, and information retrieved through a template of the type according to the type of the retrieved information is implemented and provided in the form of a card.
이때, 전자 기기에서 표시된 객체의 종류 및/또는 이름이 선택(일례로, 터치스크린 환경에서 사용자가 객체의 종류 및/또는 이름이 표시된 영역을 손가락으로 터치)하는 경우, 이러한 선택에 따라 전자 기기에서 발생하는 신호가 네트워크를 통해 서버로 전달될 수 있다. 이 경우, 컴퓨터 장치는 해당 신호를 수신할 수 있으며, 신호를 수신함에 응답하여 객체의 종류 또는 이름을 키워드로 이용하여 텍스트 검색 결과를 생성할 수 있다. 또한, 컴퓨터 장치는 생성된 텍스트 검색 결과를 전자 기기로 제공할 수 있다. 다시 말해, 전자 기기의 사용자는 이미지에 대한 이미지 검색 결과에 더해 이미지를 통해 얻어진 텍스트에 대한 텍스트 검색 결과를 순차적으로 제공받을 수 있게 된다.At this time, when the type and / or the name of the object displayed on the electronic device is selected (for example, the user touches the area where the type and / or the name of the object is displayed in the touch screen environment with the finger) The generated signal can be transmitted to the server via the network. In this case, the computer device can receive the corresponding signal, and in response to receiving the signal, the text search result can be generated by using the type or name of the object as a keyword. In addition, the computer device can provide the generated text search result to the electronic device. In other words, the user of the electronic device can receive sequentially the text search result on the text obtained through the image, in addition to the image search result on the image.
도 29는 본 발명의 일실시예에 있어서, 디텍팅 애니메이션을 생성하는 방법의 예를 도시한 흐름도이다. 본 실시예의 방법이 포함하는 단계들(2910 내지 2950)은 도 28의 단계(2820)에 포함되어 수행될 수 있다.29 is a flowchart illustrating an example of a method of generating a detaching animation in an embodiment of the present invention. The steps 2910 to 2950 included in the method of the present embodiment may be performed in step 2820 of Fig.
단계(2910)에서 컴퓨터 장치는 수신된 이미지가 포함하는 객체를 탐색할 수 있다. 예를 들어, 컴퓨터 장치는 수신된 이미지에 그레이 스케일, 블러링, 엣지 디텍션 등 이미지 탐색에 요구되는 전처리를 수행한 후, 이미지 내에서 객체를 검색하여 해당 객체를 포함하는 바운딩 박스(bounding box)를 생성할 수 있다. 이러한 객체의 검색은 일반적으로 잘 알려진 객체 탐색 기술이 활용될 수 있다.In step 2910, the computer device may search for an object that the received image contains. For example, the computer device performs a preprocessing operation required for image search such as grayscale, blurring, and edge detection on a received image, and then searches for an object in the image and creates a bounding box including the object Can be generated. Searching for these objects can generally be done using well-known object search techniques.
단계(2920)에서 컴퓨터 장치는 객체의 윤곽선에서 복수의 특징점들을 추출할 수 있다. 일례로, FAST(Feature from Accelerated Segment Test) 알고리즘을 사용하여 기설정된 수(일례로, 수백 개 정도)의 특징점들이 추출될 수 있다.In step 2920, the computing device may extract a plurality of feature points from the contour of the object. For example, a predetermined number of feature points (e.g., several hundreds) can be extracted using a Feature from Accelerated Segment Test (FAST) algorithm.
단계(2930)에서 컴퓨터 장치는 추출된 특징점들에 대한 컨벡스 홀(convex hull)을 생성할 수 있다. 일례로, 컨벡스 홀 알고리즘을 통해 추출된 특징점들로부터 컨벡스 홀이 생성될 수 있다. 만약, 컨벡스 홀을 구성하기 위한 점이 미리 정의된 수에 미치지 못하는 경우, 특징점을 추가로 더 추출할 수도 있다.In step 2930, the computer device may generate a convex hull for the extracted feature points. For example, a convex hole can be generated from minutiae extracted through the convex hole algorithm. If the point for constructing the convex hole does not reach the predefined number, the feature points may be further extracted.
단계(2940)에서 컴퓨터 장치는 추출된 특징점들 중 상기 컨벡스 홀을 구성하는 미리 정해진 수의 외곽점들의 중심 좌표에 기반하여 중심점을 계산할 수 있다. 예를 들어, 컨벡스 홀을 구성하는 외곽점들의 좌표들에 대해 (X 좌표 값의 평균, Y 좌표 값의 평균)의 점을 중심적으로서 계산할 수 있다.In step 2940, the computer device may calculate a center point based on the center coordinates of a predetermined number of outline points constituting the convex hole among the extracted minutiae points. For example, the points of the outer points constituting the convex hole (the average of the X coordinate value and the average of the Y coordinate value) can be calculated centrally.
단계(2950)에서 컴퓨터 장치는 객체의 특징점들 중 외곽점들 각각과 중심점 사이의 중간값에 가장 가까운 특징점들을 선택할 수 있다. 선택된 특징점들을 다시 외곽점들로 이용하여 중심점을 구하고 다시 외곽점들과 중심점 사이의 특징점들을 선택함으로써 내부의 선들을 추가할 수도 있다. 예를 들어 도 21에서는 5개의 점들로 구성되는 컨벡스 홀과 뎁스 3의 점들을 연결하여 삼각형 구조를 갖는 디텍팅 애니메이션이 형성되는 예를 나타내고 있다.In step 2950, the computer device may select feature points that are closest to the midpoint between each of the outline points and the midpoint among the feature points of the object. The selected minutiae can be used again as outer minus points to obtain the center point, and then the inner minus points can be added by selecting the minutiae points between the outer points and the center point. For example, FIG. 21 shows an example in which a detecting animation having a triangular structure is formed by connecting points of a convex hole and a depth 3 which are composed of five points.
생성된 디텍팅 애니메이션은 도 28의 단계(2830)에서와 같이 전자 기기로 전송될 수 있으며, 도 27의 단계(2740)에서와 같이 전자 기기에서 객체와 연관하여 전자 기기의 화면에 표시될 수 있다. 이때, 컴퓨터 장치는 외곽점들, 중심점 및 가장 가까운 특징점들을 포함하는 선택점들의 좌표에 대한 정보와 선택점들을 선으로 연결하는 순서에 대한 정보를 디텍팅 애니메이션으로서 전자 기기로 전송할 수 있다. 이 경우, 전자 기기에서는 선택점들의 좌표에 대한 정보를 통해 선을 표시하고, 상기 순서에 대한 정보에 따라 선택점들을 선으로 연결하는 애니메이션을 화면에 표시할 수 있다. 또한 컴퓨터 장치는 선택점들을 상기 순서에 따라 연결하는 애니메이션 자체를 디텍팅 애니메이션으로서 전자 기기로 전송할 수도 있다. 이 경우 전자 기기는 객체와 연관하여 해당 애니메이션을 재생함으로써 디텍팅 애니메이션을 표시할 수 있다.The generated detection animation may be transmitted to the electronic device as in step 2830 of FIG. 28 and may be displayed on the screen of the electronic device in association with the object in the electronic device, such as in step 2740 of FIG. 27 . At this time, the computer device may transmit information on the coordinates of the selection points including the outer points, the center point and the closest minutiae points, and the order of connecting the selection points by lines to the electronic device as a detecting animation. In this case, the electronic device may display a line through the information of the coordinates of the selected points, and may display an animation connecting the selected points with lines according to the information on the sequence. The computer device may also transmit the animation itself connecting the selection points in this order to the electronic device as a detection animation. In this case, the electronic device can display the detection animation by reproducing the animation in association with the object.
이러한 디텍팅 애니메이션은 사용자에게 이미지 처리 결과를 제공하는 과정에서 사용자가 검색을 요구하는 이미지의 객체에 대해 분석이 이루어지고 있음을 보여줌으로써, 사용자가 이미지 검색 결과를 기다리는 동안 사용자에게 흥미를 유발하고 검색 결과가 지연되지 않는 느낌을 줄 수 있다.In the process of providing the image processing result to the user, such a detection animation shows that an analysis is performed on an object of an image that the user requests to search. Thus, while the user waits for an image search result, You can give the impression that the result is not delayed.
도 30은 본 발명의 일실시예에 있어서, 플레이스 인식에 따라 추가 정보를 제공하는 예를 도시한 도면이다. 도 30은 전자 기기 1(110)의 화면 예들(3010 및 3020)을 도시하고 있다. 제1 화면 예(3010)는 상점의 간판과 같이 특정 플레이스(place)를 식별할 수 있는 정보(일례로, 상호와 같은 텍스트나 특정 상호에 대응하는 그림 등)가 이미지에 표시된 예를 나타내고 있다. 예를 들어, 카메라 모듈(310)을 통해 캡쳐된 이미지 스트림이 OCR 인식 엔진(320)으로 자동으로 전달되고, OCR 인식 엔진(320)에서 실시간으로 문자를 인식할 수 있다. 이때, 전자 기기 1(110)은 어플리케이션의 제어에 따라 인식된 문자가 특정한 플레이스를 식별하기 위한 정보인지 여부를 결정할 수 있다. 만약, 인식된 문자가 특정한 플레이스를 식별하기 위한 정보인 것으로 판단되는 경우, 전자 기기 1(110)은 인식된 문자 또는 제1 화면 예(3010)에 나타난 이미지를 서버(150)로 전송할 수 있다. 이때, 서버(150)는 보다 정확한 플레이스 식별자를 알아내고, 플레이스의 메타데이터(일례로, 상점의 경우 상호, 업종, 설명 등)를 추출하여 전자 기기 1(110)로 전송할 수 있다. 이때, 제2 화면 예(3020)는 서버(150)로부터 제공되는 플레이스의 메타데이터가 화면에 상단 알림바(3021)의 형태로 표시된 예를 나타내고 있다. 이때, 상단 알림바(3021)에는 해당 플레이스와 관련된 URL로의 링크가 설정될 수 있다. 한편, 전자 기기 1(110)은 어플리케이션의 제어에 따라 제1 화면 예(3010)에 나타난 이미지를 분석하여 해당 이미지가 특정한 플레이스에 대한 이미지인지 여부를 결정할 수도 있다. 다시 말해, 전자 기기 1(110)은 이미지를 대략적으로 분석하여 특정한 플레이스에 대한 이미지 여부만을 판단한 뒤, 보다 정확한 플레이스의 식별자가 서버(150)를 통해 추출될 수 있도록 해당 이미지를 서버(150)로 전송할 수 있다.30 is a diagram showing an example of providing additional information according to place recognition in an embodiment of the present invention. 30 shows screen examples 3010 and 3020 of the electronic device 1 (110). The first screen example 3010 shows an example in which information (for example, a text such as mutual or a picture corresponding to a specific name, etc.) capable of identifying a specific place such as a signboard of a shop is displayed on the image. For example, an image stream captured through the camera module 310 may be automatically delivered to the OCR recognition engine 320 and recognized by the OCR recognition engine 320 in real time. At this time, the electronic device 1 (110) can determine whether the recognized character is information for identifying a specific place according to the control of the application. If it is determined that the recognized character is information for identifying a specific place, the electronic device 110 may transmit the recognized character or the image shown in the first screen example 3010 to the server 150. [ At this time, the server 150 can obtain a more accurate place identifier, and can extract metadata of the place (for example, mutual, business type, description, etc., in the case of a store) and transmit it to the electronic device 1 (110). In this case, the second screen example 3020 shows an example where the metadata of the place provided from the server 150 is displayed on the screen in the form of an upper notification bar 3021. At this time, a link to a URL related to the place may be set in the upper notification bar 3021. [ On the other hand, the electronic device 1 (110) may analyze the image displayed in the first screen example (3010) according to the control of the application to determine whether the image is an image for a specific place. In other words, the electronic device 1 110 roughly analyzes the image to determine whether or not the image is a specific place, and then transmits the image to the server 150 so that an identifier of a more accurate place can be extracted through the server 150 Lt; / RTI >
도 31은 본 발명의 일실시예에 있어서, 이미지 코드의 인식에 따라 추가 정보를 제공하는 예를 도시한 도면이다. 앞서 도 10에서는 전자 기기 1(110)에서 QR 코드를 인식함에 따라 QR 코드 버튼이 노출되고, 사용자가 노출된 QR 코드 버튼을 선택하는 경우, 해당 QR 코드가 포함하는 URL의 페이지가 랜딩되는 예를 설명하였다. 도 31의 실시예에서 제1 화면 예(3110)는 QR 코드가 포함된 이미지가 표시된 예를 나타내고 있다. 이때, 제2 화면 예(3120)는 QR 코드 인식 엔진(340)에 의해 QR 코드가 인식됨에 따라 인식된 QR 코드가 포함하는 URL의 메타데이터를 서버(150)로부터 획득하여 상단 알림바(3121)의 형태로 표시하는 예를 나타내고 있다. 이때, 상단 알림바(3121)에는 QR 코드가 포함하는 URL로의 링크가 설정될 수 있다. QR 코드뿐만 아니라, 바코드에 대해서도 관련된 상품의 메타데이터를 서버(150)로부터 획득하여 상단 알림바의 형태로 표시할 수 있다. 이때, 해당 상단 알림바에 설정되는 링크는 관련된 상품의 구매와 연관된 페이지일 수 있다.31 is a diagram showing an example of providing additional information according to recognition of an image code in an embodiment of the present invention. 10, when the QR code button is exposed as the electronic device 1 (110) recognizes the QR code and the user selects the exposed QR code button, an example in which the page of the URL included in the QR code is landed . In the embodiment of FIG. 31, the first screen example 3110 shows an example in which an image including a QR code is displayed. At this time, the second screen example 3120 obtains the metadata of the URL included in the recognized QR code as the QR code is recognized by the QR code recognition engine 340 from the server 150, As shown in Fig. At this time, a link to a URL included in the QR code may be set in the upper notification bar 3121. [ The metadata of the related product can be obtained from the server 150 in the form of an upper notification bar in addition to the QR code as well as the bar code. At this time, the link set in the upper notification bar may be a page associated with the purchase of the related product.
한편, 상단 알림바에 표시되는 메타데이터는 이미지 코드에 포함된 URL을 통해 제공되는 페이지에 포함되는 정보로서, URL, 동영상, 이미지, 설명 등과 같이 다양한 정보를 포함할 수 있다.Meanwhile, the metadata displayed in the upper notification bar is information included in a page provided through a URL included in the image code, and may include various information such as a URL, a moving image, an image, a description, and the like.
이처럼 본 발명의 실시예들에 따르면, 카메라를 통해 연속적으로 캡쳐되는 영상 스트림의 적어도 하나의 프레임과 관련된 유의미한 정보 및/또는 유의미한 정보와 연관된 사용자 인터페이스를 제공할 수 있다.As such, embodiments of the present invention may provide a user interface associated with meaningful and / or meaningful information associated with at least one frame of a video stream that is continuously captured through a camera.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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 system or apparatus described above may be implemented as a hardware component, a software component or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device As shown in FIG. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The medium may be one that continues to store computer executable programs, or temporarily store them for execution or download. In addition, the medium may be a variety of recording means or storage means in the form of a combination of a single hardware or a plurality of hardware, but is not limited to a medium directly connected to a computer system, but may be dispersed on a network. Examples of the medium include a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical recording medium such as CD-ROM and DVD, a magneto-optical medium such as a floptical disk, And program instructions including ROM, RAM, flash memory, and the like. As another example of the medium, a recording medium or a storage medium managed by a site or a server that supplies or distributes an application store or various other software to distribute the application may be mentioned. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (20)

  1. 이미지 처리 방법에 있어서,An image processing method comprising:
    이미지 처리 모드로 진입함에 응답하여 카메라 모듈을 구동하는 단계;Driving the camera module in response to entering the image processing mode;
    상기 구동된 카메라 모듈을 통해 연속적으로 이미지들의 스트림을 입력받아 순차적으로 화면에 표시하는 단계;Sequentially receiving and sequentially displaying a stream of images through the camera module;
    상기 입력받은 이미지들의 스트림을 인식 엔진으로 전달하는 단계; 및Transmitting a stream of the received images to a recognition engine; And
    상기 입력받은 이미지들의 스트림에 대해 상기 인식 엔진에 의해 인식된 인식 결과가 존재하는 경우, 상기 인식 결과를 상기 입력받은 이미지들의 스트림을 순차적으로 표시 중인 화면 상에 더 표시하는 단계Further comprising the step of, when the recognition result recognized by the recognition engine exists for the stream of the input images, further displaying the recognition result on the screen being displayed sequentially
    를 포함하는 것을 특징으로 하는 이미지 처리 방법.The image processing method comprising the steps of:
  2. 제1항에 있어서,The method according to claim 1,
    상기 인식 엔진은 상기 인식 결과로서 상기 입력받은 이미지들이 포함하는 텍스트를 인식하는 텍스트 인식 엔진을 포함하고,Wherein the recognition engine includes a text recognition engine that recognizes a text included in the input images as the recognition result,
    상기 더 표시하는 단계는,Wherein the step of displaying further comprises:
    상기 입력받은 이미지들에서 인식되는 텍스트 영역의 위치에 기반하여 상기 인식된 텍스트의 표시 위치를 동적으로 조절하는 것을 특징으로 하는 이미지 처리 방법. And dynamically adjusting a display position of the recognized text based on a position of a text area recognized in the input images.
  3. 제1항에 있어서,The method according to claim 1,
    상기 인식 엔진은 상기 인식 결과로서 상기 입력받은 이미지들이 포함하는 텍스트를 인식하는 텍스트 인식 엔진을 포함하고,Wherein the recognition engine includes a text recognition engine that recognizes a text included in the input images as the recognition result,
    상기 더 표시하는 단계는,Wherein the step of displaying further comprises:
    상기 입력받은 이미지들의 스트림을 순차적으로 표시 중인 화면 상에 상기 인식된 텍스트를 표시하되, 상기 입력받은 이미지들 중 텍스트가 인식된 이미지에서의 텍스트 영역의 위치에 기반하여 상기 인식된 텍스트의 표시 위치를 결정하는 것을 특징으로 하는 이미지 처리 방법.Wherein the display unit displays the recognized text on a screen in which a stream of the input images is sequentially displayed, and displays a display position of the recognized text based on a position of a text area in an image in which the text is recognized, The image processing method comprising the steps of:
  4. 제1항에 있어서,The method according to claim 1,
    상기 인식 엔진은 상기 인식 결과로서 상기 입력받은 이미지들이 포함하는 텍스트를 인식하는 텍스트 인식 엔진을 포함하고,Wherein the recognition engine includes a text recognition engine that recognizes a text included in the input images as the recognition result,
    상기 입력받은 이미지들의 스트림에 대해 인식된 텍스트에 대한 사용자 확인을 위한 사용자 인터페이스를 상기 입력받은 이미지들의 스트림을 순차적으로 표시 중인 화면 상에 더 표시하는 단계Further comprising displaying a user interface for user identification of the recognized text on the stream of input images on a screen being displayed sequentially,
    를 더 포함하는 것을 특징으로 하는 이미지 처리 방법.The image processing method further comprising:
  5. 제4항에 있어서,5. The method of claim 4,
    상기 사용자 인터페이스를 통한 사용자 확인의 발생 시, 상기 입력받은 이미지들 중 텍스트가 인식된 이미지를 화면에 표시하는 단계; 및Displaying a recognized image of the input images on a screen when a user confirmation is made through the user interface; And
    상기 화면에 표시된 이미지상에 상기 인식된 텍스트의 복사를 위한 사용자 인터페이스 및 상기 인식된 텍스트의 번역을 위한 사용자 인터페이스 중 적어도 하나를 더 표시하는 단계Displaying at least one of a user interface for copying the recognized text and a user interface for translating the recognized text on an image displayed on the screen
    를 더 포함하는 것을 특징으로 하는 이미지 처리 방법.The image processing method further comprising:
  6. 제1항에 있어서,The method according to claim 1,
    상기 인식 엔진은 상기 인식 결과로서 상기 입력받은 이미지들이 포함하는 텍스트를 인식하는 텍스트 인식 엔진을 포함하고,Wherein the recognition engine includes a text recognition engine that recognizes a text included in the input images as the recognition result,
    상기 더 표시하는 단계는,Wherein the step of displaying further comprises:
    상기 인식된 텍스트의 글자수에 따라 상기 인식된 텍스트의 크기를 동적으로 변경하여 상기 화면에 표시하는 것을 특징으로 하는 이미지 처리 방법.And dynamically changing the size of the recognized text according to the number of characters of the recognized text, and displaying the changed text on the screen.
  7. 제1항에 있어서,The method according to claim 1,
    상기 인식 엔진은 상기 입력받은 이미지들이 포함하는 이미지 코드를 인식하기 위한 이미지 코드 인식 엔진을 포함하고,Wherein the recognition engine includes an image code recognition engine for recognizing an image code included in the input images,
    상기 더 표시하는 단계는,Wherein the step of displaying further comprises:
    상기 화면에 순차적으로 표시되는 이미지들에서 인식된 이미지 코드에 대응하는 페이지로의 링크를 상기 인식 결과로서 상기 입력받은 이미지들의 스트림을 순차적으로 표시 중인 화면 상에 더 표시하는 것을 특징으로 하는 이미지 처리 방법.Further comprising a link to a page corresponding to the recognized image code in the images sequentially displayed on the screen, on the screen being displayed the streams of the input images sequentially as the recognition result .
  8. 제1항에 있어서,The method according to claim 1,
    상기 입력받은 이미지들의 스트림을 순차적으로 표시하는 도중에 촬영 입력이 발생하는 경우, 상기 촬영 입력의 발생 시점과 연관된 이미지를 캡쳐하여 상기 화면에 표시하는 단계;Capturing an image associated with a time point at which the photographing input is generated and displaying the captured image when the photographing input occurs while sequentially displaying the stream of the input images;
    상기 캡쳐된 이미지를 서버로 전송하는 단계; 및Transmitting the captured image to a server; And
    상기 서버로부터 상기 전송된 이미지에 대한 이미지 분석 결과를 수신하여 상기 화면에 표시된 이미지와 연계하여 표시하는 단계Receiving image analysis results of the transmitted image from the server, and displaying the image analysis result in connection with the image displayed on the screen
    를 더 포함하는 것을 특징으로 하는 이미지 처리 방법.The image processing method further comprising:
  9. 제8항에 있어서,9. The method of claim 8,
    상기 서버로부터 상기 전송된 이미지가 포함하는 객체에 대한 디텍팅 애니메이션을 수신하는 단계; 및Receiving a detaching animation for an object included in the transmitted image from the server; And
    상기 디텍팅 애니메이션을 상기 객체와 연관하여 상기 화면에 표시하는 단계Displaying the detecming animation on the screen in association with the object
    를 더 포함하는 것을 특징으로 하는 이미지 처리 방법.The image processing method further comprising:
  10. 제9항에 있어서,10. The method of claim 9,
    상기 디텍팅 애니메이션은 상기 객체의 윤곽선 중에서 추출되는 복수의 특징점들을 상기 복수의 특징점들이 추출된 상기 이미지상의 위치에 표시하고, 상기 표시되는 특징점들 중 적어도 일부의 특징점들을 선으로 연결하는 애니메이션을 포함하는 것을 특징으로 하는 이미지 처리 방법.Wherein the detecting animation includes an animation for displaying a plurality of feature points extracted from an outline of the object at a position on the image from which the plurality of feature points are extracted and connecting at least some feature points of the displayed feature points by a line The image processing method comprising the steps of:
  11. 이미지 처리 방법에 있어서,An image processing method comprising:
    전자 기기의 카메라 모듈을 통해 캡쳐된 이미지를 네트워크를 통해 수신하는 단계;Receiving an image captured via a camera module of an electronic device via a network;
    상기 수신된 이미지가 포함하는 객체에 대한 디텍팅 애니메이션을 생성하는 단계;Generating a detaching animation for an object included in the received image;
    상기 생성된 디텍팅 애니메이션을 상기 전자 기기로 전송하는 단계;Transmitting the generated detecming animation to the electronic device;
    상기 수신된 이미지에 대한 이미지 검색 결과를 생성하는 단계; 및Generating an image search result for the received image; And
    상기 생성된 이미지 검색 결과를 상기 전자 기기로 전송하는 단계Transmitting the generated image search result to the electronic device
    를 포함하는 것을 특징으로 하는 이미지 처리 방법.The image processing method comprising the steps of:
  12. 제11항에 있어서,12. The method of claim 11,
    상기 디텍팅 애니메이션은 상기 객체의 윤곽선 중에서 추출되는 복수의 특징점들을 상기 복수의 특징점들이 추출된 상기 이미지상의 위치에 표시하고, 상기 표시되는 특징점들 중 적어도 일부의 특징점들을 선으로 연결하는 애니메이션을 포함하는 것을 특징으로 하는 이미지 처리 방법.Wherein the detecting animation includes an animation for displaying a plurality of feature points extracted from an outline of the object at a position on the image from which the plurality of feature points are extracted and connecting at least some feature points of the displayed feature points by a line The image processing method comprising the steps of:
  13. 제11항에 있어서,12. The method of claim 11,
    상기 디텍팅 애니메이션을 생성하는 단계는,Wherein the generating the detaching animation comprises:
    상기 수신된 이미지가 포함하는 객체를 탐색하는 단계;Searching for an object included in the received image;
    상기 객체의 윤곽선에서 복수의 특징점들을 추출하는 단계;Extracting a plurality of feature points from an outline of the object;
    상기 추출된 특징점들에 대한 컨벡스 홀(convex hull)을 생성하는 단계;Generating a convex hull for the extracted minutiae;
    상기 추출된 특징점들 중 상기 컨벡스 홀을 구성하는 미리 정해진 수의 외곽점들의 중심 좌표에 기반하여 중심점을 계산하는 단계; 및Calculating a center point based on a center coordinate of a predetermined number of outline points constituting the convex hole among the extracted minutiae; And
    상기 객체의 특징점들 중 상기 외곽점들 각각과 상기 중심점 사이의 중간값에 가장 가까운 특징점들을 선택하는 단계Selecting a feature point closest to an intermediate value between each of the outline points and the center point among the feature points of the object
    를 포함하는 것을 특징으로 하는 이미지 처리 방법.The image processing method comprising the steps of:
  14. 제13항에 있어서,14. The method of claim 13,
    상기 생성된 디텍팅 애니메이션을 상기 전자 기기로 전송하는 단계는,Wherein the transmitting the generated detecming animation to the electronic device comprises:
    상기 외곽점들, 상기 중심점 및 상기 가장 가까운 특징점들을 포함하는 선택점들의 좌표에 대한 정보와 상기 선택점들을 선으로 연결하는 순서에 대한 정보를 상기 디텍팅 애니메이션으로서 상기 전자 기기로 전송하거나 또는 상기 선택점들을 상기 순서에 따라 연결하는 애니메이션을 상기 디텍팅 애니메이션으로서 상기 전자 기기로 전송하는 것을 특징으로 하는 이미지 처리 방법.Information on coordinates of the selection points including the outer points, the center point and the closest feature points, and the order of connecting the selection points by a line to the electronic device as the detecting animation, And transmitting an animation linking the points in the above order to the electronic device as the detecting animation.
  15. 제11항에 있어서,12. The method of claim 11,
    상기 이미지 검색 결과는, 상기 객체의 종류 및 이름 중 적어도 하나를 포함하고, 상기 객체와 관련하여 검색된 이미지, 문서, 텍스트 중 적어도 하나를 더 포함하는 것을 특징으로 하는 이미지 처리 방법.Wherein the image search result includes at least one of a type and a name of the object, and further includes at least one of an image, a document, and a text retrieved in association with the object.
  16. 제15항에 있어서,16. The method of claim 15,
    상기 객체의 종류 및 이름 중 적어도 하나가 상기 전자 기기의 카메라 모듈을 통해 입력된 이미지와 오버랩되어 상기 전자 기기의 화면에 표시되고,At least one of a type and a name of the object overlaps with an image input through the camera module of the electronic device and is displayed on a screen of the electronic device,
    상기 검색된 이미지, 문서, 텍스트 중 적어도 하나가 대응하는 페이지로의 링크를 포함하여 상기 전자 기기의 카메라 모듈을 통해 입력된 이미지와 연계되어 상기 전자 기기의 화면에 더 표시되는 것을 특징으로 하는 이미지 처리 방법.Wherein at least one of the searched image, document, and text includes a link to a corresponding page, and is further displayed on a screen of the electronic device in association with an image input through a camera module of the electronic device .
  17. 제16항에 있어서,17. The method of claim 16,
    상기 전자 기기의 화면에 표시된 상기 객체의 종류 또는 이름이 상기 전자 기기의 사용자에 의해 선택됨에 따라 발생하는 신호를 네트워크를 통해 수신하는 단계;Receiving, via a network, a signal generated as a type or name of the object displayed on the screen of the electronic device is selected by a user of the electronic device;
    상기 신호를 수신함에 응답하여 상기 객체의 종류 또는 이름을 키워드로 이용하여 텍스트 검색 결과를 생성하는 단계; 및Generating a text search result using a type or name of the object as a keyword in response to receiving the signal; And
    상기 생성된 텍스트 검색 결과를 상기 전자 기기로 제공하는 단계Providing the generated text search result to the electronic device
    를 더 포함하는 것을 특징으로 하는 이미지 처리 방법.The image processing method further comprising:
  18. 제11항에 있어서,12. The method of claim 11,
    상기 수신된 이미지에 대한 이미지 검색 결과를 생성하는 단계는,Wherein the generating the image search result for the received image comprises:
    상기 수신된 이미지가 포함하는 객체와 관련하여 검색된 정보의 유형에 따라 유형별로 미리 디자인된 템플릿을 통해 검색된 정보를 카드의 형태로 구현하는 것을 특징으로 하는 이미지 처리 방법.And the information retrieved through the template designed in advance according to the type of information retrieved in relation to the object included in the received image is implemented in the form of a card.
  19. 컴퓨터와 결합하여 제1항 내지 제18항 중 어느 한 항의 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program stored on a computer readable medium for causing a computer to execute the method of any one of claims 1 to 18 in combination with the computer.
  20. 제1항 내지 제18항 중 어느 한 항의 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체.A computer-readable recording medium storing a program for causing a computer to execute the method according to any one of claims 1 to 18.
PCT/KR2018/009470 2017-08-20 2018-08-17 Processing of visual input WO2019039799A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020509490A JP7027524B2 (en) 2017-08-20 2018-08-17 Processing of visual input

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20170105156 2017-08-20
KR10-2017-0105156 2017-08-20
KR10-2018-0035734 2018-03-28
KR1020180035734A KR102026475B1 (en) 2017-08-20 2018-03-28 Processing visual input

Publications (1)

Publication Number Publication Date
WO2019039799A1 true WO2019039799A1 (en) 2019-02-28

Family

ID=65439151

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/009470 WO2019039799A1 (en) 2017-08-20 2018-08-17 Processing of visual input

Country Status (1)

Country Link
WO (1) WO2019039799A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010103694A (en) * 2008-10-22 2010-05-06 Seiko Precision Inc Camera with translation function, and method of displaying text
KR20130057584A (en) * 2011-11-24 2013-06-03 에스케이플래닛 주식회사 Apparatus and method for setting feature point, tracking object apparatus and method usig that
JP5852093B2 (en) * 2011-03-01 2016-02-03 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America Video processing apparatus, video processing method, and program
KR20160149185A (en) * 2016-12-20 2016-12-27 에스케이플래닛 주식회사 Integrative image searching system and service method of the same
KR20170091878A (en) * 2016-02-02 2017-08-10 주식회사 얍컴퍼니 Apparatus and method for recognizing an object in a visual contents

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010103694A (en) * 2008-10-22 2010-05-06 Seiko Precision Inc Camera with translation function, and method of displaying text
JP5852093B2 (en) * 2011-03-01 2016-02-03 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America Video processing apparatus, video processing method, and program
KR20130057584A (en) * 2011-11-24 2013-06-03 에스케이플래닛 주식회사 Apparatus and method for setting feature point, tracking object apparatus and method usig that
KR20170091878A (en) * 2016-02-02 2017-08-10 주식회사 얍컴퍼니 Apparatus and method for recognizing an object in a visual contents
KR20160149185A (en) * 2016-12-20 2016-12-27 에스케이플래닛 주식회사 Integrative image searching system and service method of the same

Similar Documents

Publication Publication Date Title
CN107223246B (en) Image labeling method and device and electronic equipment
CN110446063B (en) Video cover generation method and device and electronic equipment
WO2019033571A1 (en) Facial feature point detection method, apparatus and storage medium
WO2020029466A1 (en) Image processing method and apparatus
JP2013080326A (en) Image processing device, image processing method, and program
WO2021141419A1 (en) Method and apparatus for generating customized content based on user intent
WO2020060019A1 (en) Character detection device, method, and system
WO2019017582A1 (en) Method and system for collecting cloud sourcing-based ar content templates and automatically generating ar content
WO2020166883A1 (en) Method and system for editing video on basis of context obtained using artificial intelligence
WO2018131825A1 (en) Method for providing e-book service and computer program therefor
JP2005135041A (en) Document search/browse method and document search/browse system
WO2018052269A1 (en) Method of displaying images in a multi-dimensional mode based on personalized topics
WO2020116768A1 (en) Image processing device and method for operating same
CN115061679B (en) Offline RPA element picking method and system
WO2019093599A1 (en) Apparatus for generating user interest information and method therefor
KR102422221B1 (en) Method, system, and computer program for extracting and providing text color and background color in image
CN105955683B (en) System and control method
WO2014148691A1 (en) Mobile device and method for controlling the same
CN111198962A (en) Information processing apparatus, system, method, similarity judging method, and medium
WO2018164435A1 (en) Electronic apparatus, method for controlling the same, and non-transitory computer readable recording medium
WO2018124500A1 (en) Method and electronic device for providing object recognition result
WO2020045909A1 (en) Apparatus and method for user interface framework for multi-selection and operation of non-consecutive segmented information
WO2016036049A1 (en) Search service providing apparatus, system, method, and computer program
WO2019039799A1 (en) Processing of visual input
KR102026475B1 (en) Processing visual input

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18848367

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020509490

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18848367

Country of ref document: EP

Kind code of ref document: A1