WO2015143471A1 - Verfahren zur optischen erkennung von zeichen - Google Patents

Verfahren zur optischen erkennung von zeichen Download PDF

Info

Publication number
WO2015143471A1
WO2015143471A1 PCT/AT2015/050080 AT2015050080W WO2015143471A1 WO 2015143471 A1 WO2015143471 A1 WO 2015143471A1 AT 2015050080 W AT2015050080 W AT 2015050080W WO 2015143471 A1 WO2015143471 A1 WO 2015143471A1
Authority
WO
WIPO (PCT)
Prior art keywords
image data
display
recognized
characters
outline
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/AT2015/050080
Other languages
English (en)
French (fr)
Inventor
Daniel ALBERTINI
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
9yards GmbH
mySugr GmbH
Original Assignee
9yards GmbH
mySugr GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 9yards GmbH, mySugr GmbH filed Critical 9yards GmbH
Priority to KR1020167030200A priority Critical patent/KR101842535B1/ko
Priority to US15/129,378 priority patent/US10055668B2/en
Priority to JP2017501433A priority patent/JP6630341B2/ja
Priority to EP15715669.6A priority patent/EP3123393B1/de
Publication of WO2015143471A1 publication Critical patent/WO2015143471A1/de
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • G06V20/63Scene text, e.g. street names
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/153Segmentation of character regions using recognition of characters or words
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/02Recognising information on displays, dials, clocks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Definitions

  • the invention relates to a method for the optical recognition of characters displayed on a display, wherein image data is obtained, which contain a representation of the display, as well as a mobile terminal with an image sensor for receiving the image data and with a processor and a
  • Character recognition method a measured value in the image data taken so ⁇ identified, translated into machine-coded text and transmitted to a data acquisition device.
  • a preferred application of the invention is the acquisition, detection and processing of blood glucose readings from a blood glucose meter.
  • a blood glucose meter For this purpose, apart from a manual transmission of the displayed data, sometimes cable-based solutions are marketed and used.
  • the QR code is significantly easier to recognize electronically compared to human-readable characters because it has special recognition features for this purpose, which also allow for unambiguous alignment and equalization of the code.
  • a QR code usually contains redundant information, so that some bad or unreadable parts of the Readability of the code as a whole does not affect.
  • a completely wireless data transmission is only possible with the most expensive measuring devices, which for example offer a Bluetooth interface for data transmission. The vast majority of blood glucose meters, however, has no such interface .
  • the invention provides a mobile terminal with an image sensor for receiving the image data and a
  • An advantageous method for detecting an outline represented in the image data is that at least one contiguous sequence of adjacent pixels with the same or similar color value is recognized as an outline.
  • the image data is first searched on a pixel not yet assigned to an outline and then, starting from this pixel, the color values of the adjacent pixels are compared in sequence until a pixel with the same or a similar color value is found, and then becomes with this pixel continues until no adjacent pixel can be found that is not already part of the outline.
  • Pixels of the number of corner points of the display corresponds to be recognized as an outline of the display area.
  • other or additional features may also be used in the recognition, such as e.g. an aspect ratio of the display.
  • the number of vertices i. usually four vertices, allows a sufficiently good
  • Outlines with a larger enclosed area which could be confused with the display may e.g. be counteracted by optical focusing on objects at a distance of a maximum of 1 m.
  • a histogram of a horizontal projection of the color values of the processed image data can advantageously be generated for optical character recognition and the histogram can be used to generate the histogram
  • the Recognition of the signs is based on the recognition that the vertical segments - in analogy to the above explanation for the horizontal segments - cause local maxima in the vertical projection that are detected and used to determine the
  • the respectively displayed character can be determined from the color values of a portion of the processed image data corresponding to the character, preferably determining the states of a plurality of segments representing a character and from these states a displayed character.
  • This method provides an efficient alternative to comparing the image data with all the possible states of the segment display corresponding comparison images. Instead, the knowledge about the positions of the individual segments within a character is used to separately represent, for each segment, the one represented in the image data
  • Display area is not recognized, for example, because no outline is detected or none of the detected outlines the properties of the display, can be discarded before the character recognition and even before the preparation, so that the available resources not with a superfluous preparation or a probably futile - and so that particularly complicated - character recognition are unnecessarily burdened.
  • the user does not incur any additional operating effort due to this over ⁇ jumping of individual images. It only slightly increases the duration of the recording, which is not or barely perceptible in a few discarded single images.
  • FIG. 2 is a schematic block diagram of a mobile terminal and a measuring device according to FIG. 1;
  • FIG. 2 is a schematic block diagram of a mobile terminal and a measuring device according to FIG. 1;
  • FIG. 4 shows in more detail a method section for loading and converting acquired image data according to item IV in FIG. 3;
  • Fig. 8 is a flowchart of a subroutine for simplifying an outline of Fig. 7;
  • FIG. 11 shows a method section for identifying an identified character according to the number XI in FIG. 3.
  • Fig. 1 illustrates an application situation in which a user uses a mobile terminal 1, to detect a on a display 2 of a measuring device 3, such as a blood glucose measuring device, readout and wear on the mobile terminal 1 to about ⁇ .
  • a measuring device 3 such as a blood glucose measuring device
  • an image sensor (not shown) of the mobile terminal 1 on the display 2 of the blood sugar measuring device 3 ge ⁇ directed.
  • the mobile terminal 1 is set up, a method for optically recognizing displayed on the display 2
  • the mobile terminal 1 in turn likewise has a display 8 on which the image data 9 obtained by means of the image sensor ⁇ which contain a representation of the display 2 are displayed. Specifically, a cutout 10 of the image data 9, which represents a detected ⁇ display area of the display 2, in color on the display 8 of the mobile terminal 1, for example, highlighted. In this way, the mobile terminal 1 signals the user to successfully recognize the display area of the display 2 of the measuring device 3.
  • FIG. 2 shows a schematic block diagram of the mobile terminal 1 and of the measuring device 3 with the display 2.
  • the mobile terminal 1 has an image sensor 11, a processor 12 and a memory 13.
  • the processor 12 is configured to execute processing modules 14-19 and connected to both the image sensor 11 and the memory 13.
  • the processing modules 14-19 comprise an edge detection module 14, a display extractor module 15, a line identification module 16, a character identification module 17, a character recognition module 18 and a comparison module 19.
  • the edge detection module 14 is connected to the image sensor 11 and configured to receive the image sensor 11 for recording and To instruct transmission of image data and to recognize any edges represented in the thus obtained image data (see Fig. 6).
  • the display extractor module 15 is set up to process the edges and outlines recognized by the edge recognition module 14 and to therefrom the edges or the outline of a display area represented in the image data and to extract the image data representing the recognized display area.
  • the Displayextraktormodul 15 is adapted to process the extracted image data by correcting, for example, distortion and color values normali ⁇ Siert be.
  • the 15 lines connected to the Displayextraktormodul identification module 16 is adapted for processing the sto ⁇ ready before image data, represented in the sto any ⁇ ready before image data lines of a text display are identified.
  • semantic checks can also be carried out in the comparison processor 19, for example with regard to a possible range of values of measured values or with regard to a chronological order of recognized dates.
  • the recognized and checked display text is then passed to one or more other application modules 20, which include, for example, a recording and management of the recognized data and a preparation for evaluation by the user.
  • the processing modules 14-19 executed on the processor 12 access the memory 13 or databases 21-23 stored therein in order to perform their function.
  • the processor 12 access the memory 13 or databases 21-23 stored therein in order to perform their function.
  • Memory 13 general configuration parameters 21 for the processing modules 14-19 and a meter memory 22, which specific configuration parameters for one or more types of meters, such as an aspect ratio of the display 2 of jewei ⁇ term meter 3 or information on the semantic meaning one or more display lines.
  • the already recognized display texts for checking or for further transmission in the value memory 23 can be temporarily stored.
  • FIG. 3 The present method for optically recognizing a display content will now be described in overview with reference to the flow chart shown in FIG. 3, and in detail with reference to the more detailed flow charts shown in FIGS. 4-11, which illustrate the operations shown in FIG. A start (beginning 24) of the implementation of the present method may e.g. by the user through interaction with a mobile
  • Method image data of a color image 26 are first obtained or loaded by an image sensor 11 and converted into a black and white image 27. On the basis of the black and white image 27 are then represented in the image data outlines 28 im
  • one of the outlines 28 is selected as the display outline 31, and thus a display area of the display is recognized in the acquired image data.
  • Display Outline 31 is known, corresponding to the display outline 31 image data of the color image 26, which thus represent the recognized display area in a
  • a charging process 37 is executed at the beginning 24 of the present process initially, which activates, for example, an image sensor 11 and a measured by the image sensor 11 or captured Color 26 loads for further proces ⁇ processing.
  • a black-and-white image 27 corresponding to the color image 26 is subsequently calculated in a conversion process 38 (see FIG.
  • the Conversion ⁇ process 38 lies a pre-determined threshold 39 based on which, for example, from the configuration Para ⁇ meters 21 or - if the type of the depicted in the color image 26 meter 3 is known, for example, because it has been pre-entered manually by the user - from the device memory 22 is loaded.
  • the process continues at the connection point A (see Fig. 6).
  • a grayscale copy 41 is first of all calculated from the image data obtained, which correspond, for example, to the color image 26 or a section thereof in the context of a gray scale conversion 40.
  • the gray level conversion 40 takes place in a manner known per se, for example by complete desaturation of the color data or by conversion of the individual color pixels of the image data to a corresponding brightness value (also called darkness level).
  • an average pixel value of the pixel of the gray-scale copy 41 surrounding the current pixel is first calculated in a calculation step 46 in accordance with a block size 47 loaded from the configuration parameters 21.
  • the average pixel value thus obtained is with a threshold 39 (see Fig. 4) or 48 (see Fig. 9) passed to the conversion.
  • a threshold 39 see Fig. 4
  • 48 see Fig. 9
  • an assignment is made as black pixel 49 or white pixel 50 in the black and white copy 42.
  • FIG. 6 shows the sequence of the contour recognition 29.
  • a new outline is initialized at the location of the current pixel, the initialization 54 caches the Benach ⁇ showed white pixels as a starting point for the search 55 for a neighboring black pixels. If the above conditions are not satisfied, it is determined in a further checking step 56 whether a new outline starts at the pixel adjacent to the left. This is the case if the current pixel is assigned the color value white and the pixel adjacent to the left is assigned the value black, and if the pixel adjacent to the left is not part of an already recognized outline. If these three conditions are met, an initialization 57 of a new outline starts from the left pixel adjacent to the current pixel, the current pixel being used as the starting point for the subsequent search 55
  • Area of all squares 62 is calculated and that square with the largest surface area is recognized as the display outline 31.
  • the contour is divided at this pixel and the method recursively for each of the two parts, that is, for a portion of the outline from the first pixel to the image ⁇ point with the greatest distance, and for a second portion of this pixel to the last pixel, recursively repeated.
  • the division 70 has led to a number of sections in which each pixel within the individual sections lies within the limit value ⁇ , all remaining pixels of the outline to be simplified, ie all those pixels which do not delimit at least one section, are deleted, s , Block 71, with the remaining pixels forming the simplified outline.
  • the conversion 38 takes place analogously to FIG. 4 in accordance with the method illustrated in FIG. 5, wherein instead of the fixed threshold value 39, the calculated threshold value 48 is used.
  • the black and white cutout 75 thus corresponds to one
  • FIG. 10 shows the identification 34 (see FIG. 3) of the lines and of the characters forming the lines of the display 2.
  • a calculation of a horizontalproduction profile of the black screen is made.
  • White-section 75 completed.
  • the horizontal projection profile essentially corresponds to a histogram of the proportion of black pixels in each pixel row of the black-and-white detail 75.
  • the first derivative of the histogram is calculated, and the upper edges and lower edges respectively are calculated each line based on the local maxima or minima in the derived horizontal projection profile.
  • an identification of the characters contained therein follows a similar procedure, wherein first a vertical
  • Projection profile is calculated, block 78, and from the first derivative of the vertical projection profile or their local maxima and minima the left and right edges of each character is identified, block 79.
  • corresponding display text 80 e.g. In the value memory 23 (see Fig. 2), stored for use in comparison module 19, block 81.
  • field 82 the last stored display texts 80 are compared and for at least three matching display texts 80 this display text is e.g. to other application modules 20 (see Fig. 2) passed.
  • Meter memory 22 (see Fig. 2) are loaded. It contains, for example, information about the position and extent of the individual segments within the black-and-white character 83. On the basis of this information, first a calculation, block 85, of a proportion of black pixels assigned to each segment is calculated. The black pixel portions per segment of the black-and-white character 83 thus obtained are sorted, block 86, and a position of the largest gap between two adjacent portions is sought, block 87. If the size of the gap, i. the maximum distance between two adjacent shares exceeds a fixed minimum, box 88, the segments assigned to the shares above the gap become active and the remaining ones
  • Segments marked as inactive Otherwise, i. if the gap does not exceed the minimum, all segments are assigned the same status, i. either all are recognized as active (corresponding to the number eight shown) or all as inactive (which is practically considered to be zero).
  • a predetermined amount of black pixels which is fixed or configurable, e.g. is loaded from the meter memory 22, used as a reference value to decide whether all segments are classified as active or inactive (depending on whether the fractions obtained are greater or less than the reference value).
  • a character recognition, block 89 for example by looking up the
  • Activity in a segment table that associates each combination of activities with a meaning in the form of a letter or number that recognizes characters. This character recognition is repeated for each character of a line, as indicated by the connection points F and G in FIG. 11 and FIG. 10, until all identified characters have been recognized.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Character Discrimination (AREA)
  • Image Analysis (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Studio Devices (AREA)
  • Geometry (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

Zur optischen Erkennung von auf einem Display (2) angezeigten Zeichen (4) werden Bilddaten gewonnen, welche eine Repräsentation des Displays (2) enthalten, mit den Schritten: Erkennung (29, 30) einer Anzeigefläche des Displays (2) in den gewonnenen Bilddaten; Aufbereitung (32) der die erkannte Anzeigefläche repräsentierenden Bilddaten; Durchführung einer optischen Zeichenerkennung (34, 35) anhand der aufbereiteten Bilddaten; und Ablegen der bei der optischen Zeichenerkennung (34, 35) erkannten Zeichen in einem Speicher (13).

Description

Verfahren zur optischen Erkennung von Zeichen
Die Erfindung betrifft eine Verfahren zur optischen Erkennung von auf einem Display angezeigten Zeichen, wobei Bilddaten gewonnen werden, welche eine Repräsentation des Displays enthalten, sowie ein mobiles Endgerät mit einem Bildsensor zur Aufnahme der Bilddaten und mit einem Prozessor und einem
Speicher, eingerichtet zur Durchführung des erfindungsgemäßen Verfahrens .
Eine automatische Erkennung und Verarbeitung von auf einem Display angezeigten Zeichen kann in verschiedenartigsten Anwendungen nutzbringend eingesetzt werden. Ganz allgemein bietet eine solche optische Erkennung eine einfache und seitens der Informationsquelle (d.h. jenes Geräts, dessen Display abgelesen wird) kostengünstige Möglichkeit zur kabellosen Datenübertragung zwischen zwei Geräten. Dies gilt insbesondere für Anwendungen, bei denen ein Ablesen von Daten durch einen Benutzer möglich sein soll und daher jedenfalls ein Display zur Anzeige dieser Daten vorhanden ist. In solchen Fällen könnte selbstverständlich eine separate Datenübertragung per Funk vorgesehen werden, was jedoch wegen der notwendigen Übertragungseinrichtungen mit zusätzlichen Kosten verbunden wäre. Typische Beispiele für derartige Anwendungen sind Messgeräte jeder Art, insbesondere relativ einfache und kostengünstige Messgeräte, die aus Kosten¬ gründen gewöhnlich ohne kabellose Datenübertragungsschnitt¬ stellen hergestellt werden, wie z.B. Blutzuckermessgeräte.
Aus http : //-www, instructables . com/id/How-to-interface-diqital- disp1avs-with-your-PC/ ? 1anq=de&ALLSTEPS) ist ein Verfahren zum Ablesen eines diqitalen Displays bekannt, wenn keine PC-Schnitt¬ stelle vorhanden ist. Es wird ein adaptives Schwellwertverfahren zur Vorverarbeitunq der Bilddaten einqesetzt. Weiters wird die Ausnutzunq des Displayrahmens als Filtercharakteristik für einen Blob-Filter beschrieben, mit dem jene Blobs, welche ihrerseits von einem Blob umqeben sind, identifiziert werden können. Die Zeichenerkennunq erfolqt durch Verqleich mit einer Tabelle an bekannten Formen In der Webseite
http : //www . netzweit . de/news/ 86016-handy-alltaq-besten-Scanner- apps-ueberbl ick , html ) werden einzelne Features vorgestellt, jedoch nicht deren Implementierung. Die angedeuteten Features sind, dass ein Handy Fotos so drehen kann, dass es aussieht, als wäre das Handy exakt im richtige Winkel zum Papier positioniert. Eine automatische Erkennung der Ränder des Bildinhalts und - wenn auch in anderem Zusammenhang - die Anwendung von OCR auf Visitenkarten sind hier angesprochen.
Grundsätzlich verwandte Verfahren sind weiters bereits im
Zusammenhang mit einem automatischen Ablesen von Zählerständen vorgeschlagen worden. Beispielsweise offenbart die
DE 10 2011 000 516 AI eine Erfassungseinrichtung, welche eine numerische mechanische oder digitale Anzeige eines Messgeräts, insbesondere eines Strom-, Wasser-, Gas- oder Wärmezählers, optoelektronisch erfasst und durch Schrifterkennung in eine Zeichencodierung (ASCII-Code) umwandelt. Die Erfassungseinrichtung ist dabei parallel zum Messgerät und direkt über dessen Anzeige ausgerichtet und mit dem Messgerät verbunden, so dass vor der Schrifterkennung allenfalls noch die Orientierung der erfassten Bilddaten durch eine Drehung um einen voreingestellten Drehwinkel korrigiert werden muss.
Weiters zeigt die DE 10 2012 110 273 AI ein Untersuchungssystem zur Überwachung und Diagnose von Maschinen, wobei die Werte verschiedener Betriebsparameter der Maschine aus visuellen Anzeigeeinrichtungen, beispielsweise aus einer digitalen Anzeigeeinrichtung mit einer numerischen Ausgabe, erfasst werden.
Anschließend kann mittels eines nicht näher beschriebenen
Zeichenerkennungs-Verfahrens ein Messwert in den so aufge¬ nommenen Bilddaten identifiziert, in maschinenkodierten Text übersetzt und an eine Datenermittlungsvorrichtung übermittelt werden .
Bei diesen bekannten Verfahren werden demzufolge die angezeigten Daten mittels Zeichenerkennung direkt in den aufgenommenen
Bilddaten erkannt und ausgelesen. Dies setzt voraus, dass die Bilddaten in einer geeigneten Form aufgenommen werden können. Bei den oben beschriebenen Vorrichtungen ist diese Voraussetzung dadurch erfüllt, dass die jeweiligen Bildsensoren speziell für diese Aufgabe vorgesehen und vor den Anzeigen bzw. Displays fest eingerichtet sind. Dementsprechend ist das aufgenommene Bild bzw. sind die gewonnenen Bilddaten eine grafische Entsprechung der Anzeigefläche des jeweiligen Displays. Für Anwendungen, bei denen das Display beispielsweise mit einer in einem mobilen Endgerät integrierten Kamera aufgenommen wird, wobei das
Endgerät vom Benutzer in der Hand gehalten wird und das Display im Allgemeinen nur einen relativ kleinen Teil der den gewonnenen Bilddaten entsprechenden Bildfläche einnimmt, treten mehrere Probleme auf, die die bekannten Verfahren für solche Situationen unpraktikabel bzw. ungeeignet machen: da ein großer Teil der Bilddaten keine Information über das Display enthält, ist eine Zeichenerkennung - welche naturgemäß ein relativ aufwendiges Verfahren ist - direkt in den gewonnenen Bilddaten unverhältnismäßig aufwendig; zudem können die Helligkeits- und Kontrastver¬ hältnisse zwischen dem Display und der ebenfalls aufgenommenen Umgebung stark variieren, was den Kontrast der Abbildung des Displays häufig so stark verschlechtert, dass jede Zeichener¬ kennung fehlschlägt; dieses Problem wird durch ungünstige
Lichtverhältnisse und Schatten sowie Reflexionen am Display noch verstärkt; und schließlich kann es bei der Abbildung des
Displays aufgrund einer ungenauen Ausrichtung zu Verzerrungen kommen, welche eine Erkennung der somit ebenfalls verzerrten Zeichen unmöglich macht.
Eine bevorzugte Anwendung der Erfindung ist das Aufnehmen, Erkennen und Weiterverarbeiten von Blutzucker-Messwerten von einem Blutzuckermessgerät. Zu diesem Zweck werden bisher - abgesehen von einer manuellen Übertragung der angezeigten Daten - mitunter kabelbasierte Lösungen vermarktet und eingesetzt. Es existiert auch ein spezielles Anzeigegerät, welches per Kabel mit dem Blutzuckermessgerät verbunden wird und die zu übertragenden Daten in einem maschinenlesbaren Format, nämlich als QR-Code, anzeigt. Der QR-Code ist im Vergleich zu von Menschen lesbaren Zeichen elektronisch signifikant leichter zu erkennen, da er zu diesem Zweck spezielle Erkennungsmerkmale aufweist, welche auch eine eindeutige Ausrichtung und Entzerrung des Codes erlauben. Zudem enthält ein QR-Code üblicherweise redundante Information, so dass einige schlecht oder nicht auslesbare Teilbereiche die Auslesbarkeit des Codes als Ganzes nicht beeinträchtigen. Eine vollständig kabellose Datenübertragung ist nur bei den teuersten Messgeräten möglich, welche z.B. eine Bluetooth-Schnittstelle zur Datenübertragung anbieten. Die überwiegende Mehrzahl der Blutzuckermessgeräte besitzt jedoch keine derartige Schnitt¬ stelle.
Demnach ist es Aufgabe der Erfindung, ein Verfahren der eingangs angeführten Art zu schaffen, welches eine zuverlässige
Zeichenerkennung auch unter den oben geschilderten widrigen Umständen ermöglicht. Dabei soll das Verfahren auf einem mobilen Endgerät implementierbar sein und eine effiziente und rasche lokale Verarbeitung der Bilddaten auf solchen Geräten, z.B. auf einem Smartphone oder auf einem Wearable Computer (wie etwa dem von der Firma Google vertriebenen Produkt „Google Glass"), er¬ möglichen. Das Verfahren soll vorzugsweise ohne Netzwerkverbindung und ohne Verwendung externer Rechnerressourcen
auskommen. Insbesondere soll das Verfahren zum optischen Auslesen und Erkennen der auf dem Display eines Blutzuckermess¬ geräts (häufig eine 7-Segmentanzeige oder ein LCD-Display, wobei 7-Segmentanzeigen wegen der deutlich günstigeren Herstellung und des wesentlich geringeren Stromverbrauchs gegenüber LCD-Displays bevorzugt werden) angezeigten Messwerte geeignet sein.
Zur Lösung dieser Aufgabe ist erfindungsgemäß vorgesehen, dass das Verfahren der eingangs angeführten Art im Einzelnen die folgenden Schritte umfasst:
a) Erkennung einer Anzeigefläche des Displays in den gewonnenen Bilddaten;
b) Aufbereitung der die erkannte Anzeigefläche repräsentierenden Bilddaten;
c) Durchführung einer optischen Zeichenerkennung anhand der aufbereiteten Bilddaten; und
d) Ablegen der bei der optischen Zeichenerkennung erkannten Zeichen in einem Speicher.
In entsprechender Weise sieht die Erfindung ein mobiles Endgerät mit einem Bildsensor zur Aufnahme der Bilddaten und einem
Prozessor und einem Speicher vor, eingerichtet zur Durchführung des vorliegenden Verfahrens und zur Speicherung der auf dem Display erkannten Zeichen.
Die Erfindung beruht auf der Erkenntnis, dass die
Zuverlässigkeit der Zeichenerkennung bei der optischen Erkennung von auf einem Display angezeigten Zeichen dadurch erheblich gesteigert werden kann, dass die Zeichenerkennung nicht direkt anhand der gewonnenen Bilddaten, sondern anhand von speziell aufbereiteten Bilddaten durchgeführt wird, wobei die
Aufbereitung die Position und Lage der Anzeigefläche in den gewonnenen Bilddaten berücksichtigt, welche aus einer
vorangehenden automatischen Erkennung der Anzeigefläche des Displays in den gewonnenen Bilddaten ermittelt wird. Vereinfacht gesprochen geht der Zeichenerkennung eine allgemeine
Displayerkennung voran. Sowohl die Erkennung des Displays bzw. der Anzeigefläche des Displays als auch die Aufbereitung der Bilddaten auf Basis der erkannten Anzeigefläche kann auf verschiedene Arten erfolgen bzw. kann verschiedene, teilweise alternative Verfahrensmerkmale aufweisen.
Beispielsweise hat es sich als vorteilhaft herausgestellt, wenn zur Erkennung der Anzeigefläche zumindest ein in den Bilddaten repräsentierter Umriss, welcher einer Folge von Bildpunkten ent spricht, erkannt wird, wobei der erkannte Umriss vorzugsweise durch Auswahl einzelner Bildpunkte vereinfacht wird. Es wurden im Stand der Technik bereits mehrere Verfahren zur Umrisserkennung bzw. entsprechende Algorithmen („Border Tracing
Algorithms") vorgeschlagen, welche dem Fachmann bekannt sind. Sobald sämtliche Umrisse erkannt sind, kann ein die Anzeige¬ fläche begrenzender Umriss anhand der erwarteten Eigenschaften des Displays, z.B. Form, Symmetrie, Anzahl der Eckpunkte, Pro¬ portionen etc., erkannt werden. Sobald der Umriss der Anzeige¬ fläche in den gewonnenen Bilddaten erkannt wurde, entspricht di Anzeigefläche im Wesentlichen dem vom diesem Umriss
eingeschlossenen Ausschnitt der gewonnenen Bilddaten. Um die Verarbeitung der Umrisse zu beschleunigen, ist es günstig, wenn die Umrisse durch Auswahl einzelner Bildpunkte vereinfacht werden. Eine solche Auswahl kann z.B. durch ein beliebiges Kurvenglättungsverfahren getroffen werden, wobei der Grad der Vereinfachung vorab so festgelegt werden kann, dass die zur Erkennung des Displays verwendeten Eigenschaften dabei wenig oder nicht verfälscht werden.
Ein vorteilhaftes Verfahren zur Erkennung eines in den Bilddaten repräsentierten Umrisses besteht darin, dass zumindest eine zusammenhängende Folge benachbarter Bildpunkte mit gleichem oder ähnlichem Farbwert als Umriss erkannt wird. Bei diesem Verfahren werden die Bilddaten zunächst auf einen noch keinem Umriss zugeordneten Bildpunkt durchsucht und dann ausgehend von diesem Bildpunkt die Farbwerte der benachbarten Bildpunkte der Reihe nach verglichen, bis ein Bildpunkt mit dem gleichen oder einem ähnlichen Farbwert angetroffen wird, und dann wird mit diesem Bildpunkt fortgesetzt, bis kein benachbarter Bildpunkt gefunden werden kann, der nicht bereits Teil des Umrisses ist.
Zur Vereinfachung des zumindest einen erkannten Umrisses kann günstiger Weise der - an sich bekannte - Douglas-Peucker- Algorithmus verwendet werden, welcher vergleichsweise effizient arbeitet und in wenigen Schritten eine starke Vereinfachung der erkannten Umrisse ermöglicht.
Während bei nur einem erkannten Umriss dieser eine Umriss als Grenze der Anzeigefläche angenommen werden kann, muss in der Praxis mit der Erkennung mehrerer Umrisse gerechnet werden, da beispielsweise abgesehen von dem Display selbst beispielsweise rechteckige Bedienknöpfe ebenfalls als Umriss erkannt werden. Um ausgehend von mehreren erkannten Umrissen die Anzeigefläche zu erkennen bzw. zu identifizieren, kann vorzugsweise der Umriss mit der größten eingeschlossenen Fläche, dessen Anzahl von
Bildpunkten der Anzahl der Eckpunkte des Displays entspricht, als Umriss der Anzeigefläche erkannt werden. Selbstverständlich können bei der Erkennung neben der Anzahl der Eckpunkte auch andere oder zusätzliche Merkmale verwendet werden, wie z.B. ein Seitenverhältnis des Displays. Die Anzahl der Eckpunkte, d.h. im Regelfall vier Eckpunkte, ermöglicht eine ausreichend gute
Erkennung verschiedener Displayformate und ist zudem relativ effizient. Das Kriterium der größten eingeschlossenen Fläche hilft dabei zu verhindern, dass nützliche Teile der Bilddaten, welche einen Teil der Anzeigefläche repräsentieren, entfernt oder nicht weiter verarbeitet werden. Einer Erfassung von
Umrissen mit einer größeren eingeschlossenen Fläche, welche mit dem Display verwechselt werden könnten, kann z.B. durch optische Fokussierung auf Objekte in einem Abstand von maximal 1 m entgegengewirkt werden.
Weiters ist es günstig, wenn zur Aufbereitung der die Anzeige¬ fläche repräsentierenden Bilddaten ein der erkannten Anzeigefläche entsprechender Ausschnitt aus den ursprünglich gewonnenen Bilddaten ausgewählt wird, d.h. es werden nur diese ausgewählten Bilddaten oder auf den ausgewählten Bilddaten basierend weiter aufbereitete Bilddaten der optischen Zeichenerkennung zugeführt. Die optische Zeichenerkennung kann dabei sämtliche Bilddaten außerhalb des besagten Ausschnitts ignorieren, was zu einer weiteren Beschleunigung des Verfahrens beiträgt.
Um die Aufbereitung optimal auf die lokalen Kontrastverhältnisse auf der Anzeigefläche abzustimmen, ist es auch von Vorteil, wenn nach der Erkennung der Anzeigefläche und vor der optischen
Zeichenerkennung nur die Bilddaten des ausgewählten Ausschnitts aufbereitet werden.
Eine deutliche Verbesserung der Erkennungsrate der auf dem
Display angezeigten Zeichen kann dadurch erzielt werden, dass zur Aufbereitung der die Anzeigefläche repräsentierenden Bilddaten eine perspektivische Verzerrung der erkannten Anzeige¬ fläche in den ursprünglich gewonnenen Bilddaten oder dem
Ausschnitt aus den ursprünglich gewonnenen Bilddaten korrigiert wird. Dies kann beispielsweise für eine rechteckige Anzeige¬ fläche dadurch erfolgen, dass die Innenwinkel des im Allgemeinen einem Parallelogramm oder Trapez entsprechenden Umrisses der erkannten Anzeigefläche berechnet werden und daraus eine Trans¬ formationsmatrix für die Bilddaten ermittelt wird, mit welcher anschließend die Bilddaten entzerrt werden können. Für die
Verarbeitung der Korrektur bzw. der Entzerrung ist es günstig, wenn nur ein der Anzeigefläche entsprechender Ausschnitt der Bilddaten umgerechnet werden muss, um den mit der Korrektur verbundenen Rechenaufwand zu minimieren. Das vorliegende Verfahren eignet sich insbesondere zum optischen Auslesen von 7-Segmentanzeigen, wobei in diesem Zusammenhang ein speziell auf solche Anzeigen zugeschnittenes Zeichenerkennungs¬ verfahren vorgeschlagen wird. Das im Folgenden beschriebene Verfahren zur Erkennung von auf 7-Segmentanzeigen dargestellten Zeichen kann grundsätzlich auch unabhängig von den vorangehend beschriebenen Verfahrensschritten (Erkennung und Aufbereitung der Anzeigefläche) eingesetzt werden; es hat sich lediglich im Zusammenhang mit der dargestellten Vorverarbeitung als besonders zuverlässig herausgestellt.
Für segmentierte Anzeigen, insbesondere für 7-Segmentanzeigen, kann vorteilhaft zur optischen Zeichenerkennung ein Histogramm einer horizontalen Projektion der Farbwerte der aufbereiteten Bilddaten erstellt werden und aus dem Histogramm kann die
Position zumindest einer Zeile von auf dem Display angezeigten Zeichen ermittelt werden. Dieser Methode liegt die Erkenntnis zugrunde, dass bei Segmentanzeigen am oberen und unteren Rand der Zeichen in der horizontalen Projektion eine erheblich höhere Dichte an Farbwerten zu beobachten ist. Dies ergibt sich aus der Anordnung der einzelnen Segmente, wobei am oberen und unteren Rand der Zeichen üblicherweise jeweils horizontale Segmente angeordnet sind, welche somit ein lokales Maximum in der hori¬ zontalen Projektion verursachen. Je nach Art der Segmentierung kann auch auf halber Zeichenhöhe ein weiteres horizontales
Segment angeordnet sein, welches dann gleichermaßen ein lokales Maximum verursacht. Bei der Auswertung des Histogramms der horizontalen Projektion können die lokalen Maxima erkannt und anhand der Lage dieser Maxima die Positionen der Zeilen
ermittelt werden.
Vergleichbar der horizontalen Projektion kann bei segmentierten Anzeigen, insbesondere bei 7-Segmentanzeigen, auch die Position der einzelnen Zeichen in den erkannten Zeilen ermittelt werden. Dabei wird vorzugsweise zur optischen Zeichenerkennung ein
Histogramm einer vertikalen Projektion der Farbwerte eines der Zeile entsprechenden Ausschnitts der aufbereiteten Bilddaten erstellt und aus dem Histogramm die Anzahl und Position
zumindest eines in der Zeile angezeigten Zeichens ermittelt. Die Erkennung der Zeichen basiert auf der Erkenntnis, dass die vertikalen Segmente - analog zur obigen Erklärung für die horizontalen Segmente - in der vertikalen Projektion lokale Maxima verursachen, die erkannt und zur Ermittlung der
Zeichenpositionen verwendet werden können.
Wenn die Positionen der einzelnen Zeichen bekannt sind, kann das jeweils angezeigte Zeichen aus den Farbwerten eines dem Zeichen entsprechenden Ausschnitts der aufbereitete Bilddaten ermittelt werden, wobei vorzugsweise die Zustände einer Mehrzahl von ein Zeichen darstellenden Segmenten und aus diesen Zuständen ein dargestelltes Zeichen ermittelt werden. Dieses Verfahren bietet eine effiziente Alternative zu einem Vergleich der Bilddaten mit allen möglichen Zuständen der Segmentanzeige entsprechenden Vergleichsbildern. Stattdessen wird das Wissen um die Positionen der einzelnen Segmente innerhalb eines Zeichens genutzt, um für jedes Segment separat den in den Bilddaten repräsentierten
Zustand zu ermitteln. Sobald die Zustände aller Segmente bekannt sind, kann das entsprechende Zeichen z.B. aus einer Tabelle aller möglichen Zustandskombinationen ermittelt werden, was effizienter ist als ein Vergleich der (wesentlich umfangreicheren) Bilddaten.
Unabhängig davon, ob es sich bei dem Display um eine Segment¬ anzeige handelt oder um ein Grafikdisplay, ist es vor allem bei freihändig durchgeführten Aufnahmen der Bilddaten vorteilhaft, wenn die Bilddaten ein Videosignal von aufeinander folgenden Einzelbildern umfassen, wobei nur solche Einzelbilder der Aufbereitung zugeführt werden, in denen eine Anzeigefläche des Displays erkannt wird. Solche Einzelbilder, in denen eine
Anzeigefläche nicht erkannt wird, weil z.B. kein Umriss erkannt wird oder keiner der erkannten Umrisse den Eigenschaften des Displays entspricht, können vor der Zeichenerkennung und sogar vor der Aufbereitung verworfen werden, so dass die verfügbaren Ressourcen nicht mit einer überflüssigen Aufbereitung oder einer vermutlich aussichtslosen - und damit besonders aufwendigen - Zeichenerkennung unnötig belastet werden. Indem ein Videosignal verarbeitet wird, entsteht dem Benutzer durch dieses Über¬ springen von Einzelbildern kein zusätzlicher Bedienungsaufwand. Es wird lediglich die Dauer der Aufnahme geringfügig erhöht, was jedoch bei einigen wenigen verworfenen Einzelbildern nicht oder kaum wahrnehmbar ist.
Weiters können die oben beschriebenen Erkennungsverfahren, d.h. die Umrisserkennung und die Zeichenerkennung bzw. die Segmenterkennung, vereinfacht und beschleunigt werden, indem die Bild¬ daten vor der Erkennung der Anzeigefläche und/oder die
aufbereiteten Bilddaten vor der Durchführung einer optischen Zeichenerkennung mit einem adaptiven Schwellwertverfahren vorverarbeitet werden. Eine solche Vorverarbeitung hat den Vorteil, dass dadurch ideale Kontrastverhältnisse hergestellt werden können. Gegenüber bekannten Verfahren zur Ablese von Anzeigen ist die Anwendung eines Schwellwertverfahrens in Kombination mit der vorstehend beschriebenen Erkennung der Anzeigefläche
besonders vorteilhaft, da - unabhängig von einer Umgebung des Displays - ein innerhalb der erkannten Anzeigefläche optimaler Schwellwert ermittelt werden kann. In der Folge kann, insbe¬ sondere bei digitalen Anzeigen, selbst bei ursprünglich
minimalem Kontrastverhältnis, eine ideale Trennung des
Vordergrunds vom Hintergrund bei keinem oder nur geringem
Verlust von Bildinformation erzielt werden.
Für eine vorteilhafte Anwendung eines Schwellenwertverfahrens ist es auch günstig, wenn die Aufbereitung der die erkannte Anzeigefläche repräsentierenden Bilddaten die Durchführung eines Schwellwertverfahrens mit einem globalen Schwellwert umfasst.
Damit z.B. bei mehreren angezeigten Messwerten eine rasche und korrekte Zuordnung der erkannten Zeichen zu den entsprechenden Messwerten erfolgen kann, ist es günstig, wenn die von der optischen Zeichenerkennung erkannten Zeichen entsprechend einer vordefinierten Anordnung der angezeigten Zeichen gruppiert werden. Eine solche vordefinierte Anordnung kann beispielsweise anhand einer Eingabe des Gerätetyps durch den Benutzer ermittelt werden .
Weiters ist es vorteilhaft, wenn vor dem Ablegen der erkannten Zeichen im Speicher eine semantische Überprüfung dieser Zeichen oder von Zeichengruppen durchgeführt wird und die Zeichen nur dann abgelegt werden, wenn die semantische Überprüfung erfolg reich ist. Eine semantische Überprüfung kann beispielsweise einen erkannten Messwert auf Plausibilität prüfen oder mit früher erkannten Messwerten vergleichen, und die Änderung auf Plausibilität prüfen. Bei bestimmten Formaten der erkannten Zeichen, wie beispielsweise einem Datumsformat, kann zudem di Validität des erkannten Werts überprüft werden.
Die Erfindung wird nachfolgend anhand von besonders bevorzugten Ausführungsbeispielen, auf die sie jedoch nicht beschränkt sein soll, und unter Bezugnahme auf die Zeichnungen noch weiter erläutert. In den Zeichnungen zeigen dabei im Einzelnen:
Fig. 1 eine Anwendungssituation für ein Verfahren zur optischen Erkennung von auf einem Display angezeigten Zeichen;
Fig. 2 ein schematisches Blockschaltbild eines mobilen Endgeräts und eines Messgeräts gemäß Fig. 1 ;
Fig. 3 ein allgemeines Flussdiagramm eines Verfahrens zur optischen Erkennung von auf einem Display angezeigten Zeichen;
Fig. 4 mehr im Detail einen Verfahrensabschnitt zum Laden und Umrechnen von gewonnenen Bilddaten gemäß Ziffer IV in Fig. 3;
Fig. 5 ein Flussdiagramm einer Subroutine zum Umrechnen von Bilddaten in eine Schwarz-Weiß-Kopie gemäß Fig. 4;
Fig. 6 einen Verfahrensabschnitt zum Erkennen von Umrissen in einem Schwarz-Weiß Bild gemäß Ziffer VI in Fig. 3;
Fig. 7 einen Verfahrensabschnitt zum Auswählen eines
Umrisses gemäß Ziffer VII in Fig. 3;
Fig. 8 ein Flussdiagramm einer Subroutine zum Vereinfachen eines Umrisses gemäß Fig. 7;
Fig. 9 einen Verfahrensabschnitt zum Aufbereiten von einer erkannten Anzeige entsprechenden Bilddaten gemäß Ziffer IX in Fig. 3;
Fig. 10 einen Verfahrensabschnitt zur Identifikation von Zeilen und Zeichen in den aufbereiteten Bilddaten gemäß Ziffer X in Fig. 3; und
Fig. 11 einen Verfahrensabschnitt zur Erkennung eines identifizierten Zeichens gemäß Ziffer XI in Fig. 3. Fig. 1 stellt eine Anwendungssituation dar, bei der ein Benutzer ein mobiles Endgerät 1 verwendet, um einen auf einem Display 2 eines Messgeräts 3, z.B. eines Blutzuckermessgeräts, angezeigten Messwert zu erkennen und auf das mobile Endgerät 1 zu über¬ tragen. Dabei wird ein Bildsensor (nicht gezeigt) des mobilen Endgeräts 1 auf das Display 2 des Blutzuckermessgeräts 3 ge¬ richtet. Das mobile Endgerät 1 ist eingerichtet, ein Verfahren zur optischen Erkennung von auf dem Display 2 angezeigten
Zeichen 4 auszuführen. Die Erkennung funktioniert dabei trotz diverser Problemzonen auf dem Display 2, wie z.B. Schatten 5 des Displayrahmens, Spiegelungen 6 oder Fingerabdrücken 7 bzw.
anderer Verschmutzungen. Das mobile Endgerät 1 weist seinerseits ebenfalls ein Display 8 auf, auf welchem die mittels des Bild¬ sensors gewonnenen Bilddaten 9, welche eine Repräsentation des Displays 2 enthalten, angezeigt werden. Insbesondere wird ein Ausschnitt 10 der Bilddaten 9, welcher eine erkannte Anzeige¬ fläche des Displays 2 repräsentiert, auf dem Display 8 des mobilen Endgeräts 1, z.B. farblich, hervorgehoben. Auf diese Weise signalisiert das mobile Endgerät 1 dem Benutzer die erfolgreiche Erkennung der Anzeigefläche des Displays 2 des Messgeräts 3.
In Fig. 2 ist ein schematisches Blockschaltbild des mobilen Endgeräts 1 sowie des Messgeräts 3 mit dem Display 2 gezeigt. Das mobile Endgerät 1 weist einen Bildsensor 11, einen Prozessor 12 und einen Speicher 13 auf. Der Prozessor 12 ist zur Ausführung von Verarbeitungsmodulen 14-19 eingerichtet und sowohl mit dem Bildsensor 11 als auch mit dem Speicher 13 verbunden. Die Verarbeitungsmodule 14-19 umfassen ein Kantenerkennungsmodul 14, ein Displayextraktormodul 15, ein Zeilenidentifikationsmodul 16, ein Zeichenidentifikationsmodul 17, ein Zeichenerkennungs¬ modul 18 und ein Vergleichsmodul 19. Das Kantenerkennungsmodul 14 ist mit dem Bildsensor 11 verbunden und eingerichtet, den Bildsensor 11 zur Aufnahme und Übertragung von Bilddaten anzuweisen und etwaige in den so gewonnenen Bilddaten repräsentierte Kanten zu erkennen (vgl. Fig. 6) . Das Displayextraktormodul 15 ist eingerichtet, die vom Kantenerkennungsmodul 14 erkannten Kanten und Umrisse zu verarbeiten und daraus die Kanten bzw. den Umriss einer in den Bilddaten repräsentierten Anzeigefläche zu erkennen sowie die die erkannte Anzeigefläche repräsentierenden Bilddaten zu extrahieren. Außerdem ist das Displayextraktormodul 15 geeignet, die extrahierten Bilddaten aufzubereiten, indem beispielsweise Verzerrungen korrigiert und Farbwerte normali¬ siert werden. Das mit dem Displayextraktormodul 15 verbundene Zeilenidentifikationsmodul 16 ist zur Verarbeitung der aufbe¬ reiteten Bilddaten eingerichtet, wobei etwaige in den aufbe¬ reiteten Bilddaten repräsentierte Zeilen einer Textanzeige identifiziert werden. Im Anschluss daran kann das Zeichenidenti¬ fikationsmodul 17 die einzelnen Zeichen der vom Zeilenidentifi¬ kationsmodul 16 ermittelten Zeilen identifizieren, wobei das Zeichenidentifikationsmodul 17 die jeweils einem Zeichen ent¬ sprechenden Ausschnitte der aufbereiteten Bilddaten ermittelt. Anhand dieser Ausschnitte werden im Zeichenerkennungsmodul 18 die Bedeutungen der einzelnen Zeichen erkannt, und es wird so der Inhalt des Displays 2 bzw. der auf dem Display 2 angezeigte Anzeigetext ermittelt. Schließlich ist das Vergleichsmodul 19 eingerichtet, mehrere zeitlich hintereinander erkannte Anzeige¬ texte zu vergleichen und zu überprüfen, wobei beispielsweise eine Anzahl von drei oder mehr in kurzen Zeitabständen erkannten Anzeigetexten verglichen werden können und bei Übereinstimmung eine korrekte Erkennung des Displayinhalts angenommen wird.
Außerdem können im Vergleichsprozessor 19 auch semantische Überprüfungen z.B. hinsichtlich eines möglichen Wertebereichs von Messwerten oder hinsichtlich einer chronologischen Reihenfolge von erkannten Datumsangaben vorgenommen werden. Der erkannte und überprüfte Anzeigetext wird anschließend an ein oder mehrere weitere Anwendungsmodule 20, welche beispielsweise eine Auf¬ zeichnung und Verwaltung der erkannten Daten sowie eine Aufbereitung zur Auswertung durch den Benutzer umfassen, übergeben.
Die auf dem Prozessor 12 ausgeführten Verarbeitungsmodule 14-19 greifen zur Ausführung ihrer Funktion auf den Speicher 13 bzw. darin abgelegte Datenbanken 21-23 zu. Insbesondere sind im
Speicher 13 allgemeine Konfigurationsparameter 21 für die Verarbeitungsmodule 14-19 sowie ein Messgerätespeicher 22, welcher spezifische Konfigurationsparameter für einen oder mehrere Messgerätetypen, z.B. ein Seitenverhältnis des Displays 2 des jewei¬ ligen Messgeräts 3 oder Angaben über die semantische Bedeutung einer oder mehrere Anzeigezeilen, umfasst. Außerdem können die bereits erkannten Anzeigetexte zur Überprüfung oder zur weiteren Übertragung im Wertespeicher 23 zwischengespeichert werden.
Das vorliegende Verfahren zur optischen Erkennung eines Displayinhalts wird im Folgenden überblicksmäßig anhand des in Fig. 3 gezeigten Flussdiagramms, sowie darauf im Detail anhand der in Fig. 4-11 gezeigten genaueren Flussdiagramme, welche die in Fig. 3 gezeigten Vorgänge detaillierter darstellen, erläutert. Ein Start (Beginn 24) der Ausführung des vorliegenden Verfahrens kann z.B. vom Benutzer durch Interaktion mit einem mobilen
Endgerät 1 ausgelöst werden. Als erster Schritt 25 des
Verfahrens werden zunächst Bilddaten eines Farbbilds 26 gewonnen bzw. von einem Bildsensor 11 geladen und in ein Schwarz-Weiß- Bild 27 umgerechnet. Anhand des Schwarz-Weiß-Bilds 27 werden anschließend in den Bilddaten repräsentierte Umrisse 28 im
Rahmen einer Umrisserkennung 29 erkannt. In einem
darauffolgenden Auswahlschritt 30 wird einer der Umrisse 28 als Anzeigeumriss 31 ausgewählt und somit eine Anzeigefläche des Displays in den gewonnenen Bilddaten erkannt. Sobald der
Anzeigeumriss 31 bekannt ist, werden die dem Anzeigeumriss 31 entsprechenden Bilddaten des Farbbilds 26, welche somit die erkannte Anzeigefläche repräsentieren, in einem
Aufbereitungsschritt 32 aufbereitet und in einen Schwarz-Weiß- Ausschnitt 33 umgerechnet. Die anschließende Identifikation 34 der in dem Schwarz-Weiß-Ausschnitt 33 abgebildeten Zeilen und der den Zeilen jeweils zugeordneten Zeichen arbeitet mit einer Zeichenerkennung 35 zusammen, um einen in dem Schwarz-Weiß- Ausschnitt 33 dargestellten Anzeigetext 36 zu erkennen bzw. aus den Bilddaten zu rekonstruieren. Das gesamte Verfahren wird anschließend, vorzugsweise zumindest zweimal oder dreimal, wiederholt, um einen Vergleich mehrerer, in kurzen zeitlichen Abständen (innerhalb von höchstens wenigen Sekunden) erkannter Anzeigetexte 36 und somit die Erkennung etwaiger fehlerhaft erkannter Anzeigetexte 36 zu ermöglichen.
Die einzelnen Verfahrensschritte 25, 29, 30, 32, 34, 35 werden nachfolgend in den jeweils durch römische Ziffern in Fig. 3 angegebenen Figuren 4, 6, 7, 9, 10 und 11 genauer dargestellt und beschrieben.
Gemäß Fig. 4 wird zum Beginn 24 des vorliegenden Verfahrens zunächst ein Ladevorgang 37 ausgeführt, welcher beispielsweise einen Bildsensor 11 aktiviert und ein vom Bildsensor 11 gemessenes bzw. aufgenommenes Farbbild 26 zur weiteren Verar¬ beitung lädt. Aus dem Farbbild 26 wird anschließend in einem Umrechnungsvorgang 38 (vgl. Fig. 5) ein dem Farbbild 26 entsprechendes Schwarz-Weiß-Bild 27 berechnet. Dem Umrechnungs¬ vorgang 38 liegt dabei ein vorab festgelegter Schwellwert 39 zugrunde, welcher beispielsweise aus den Konfigurationspara¬ metern 21 oder - falls der Typ des im Farbbild 26 abgebildeten Messgeräts 3 bekannt ist, z.B. weil dieser vorab vom Benutzer manuell eingegeben wurde - aus dem Messgerätespeicher 22 geladen wird. Nach der abgeschlossenen Umrechnung der Bilddaten des Farbbilds 26 in das Schwarz-Weiß-Bild 27 wird das Verfahren im Anschlusspunkt A (vgl. Fig. 6) fortgesetzt.
In Fig. 5 ist der Umrechnungsvorgang 38 genauer dargestellt. Dabei wird aus den erhaltenen Bilddaten, welche z.B. dem Farbbild 26 oder einem Ausschnitt daraus entsprechen, im Rahmen einer Graustufenumrechnung 40 zunächst eine Graustufenkopie 41 berechnet. Die Graustufenumrechnung 40 erfolgt dabei in an sich bekannter Weise, z.B. durch vollständige EntSättigung der Farbdaten bzw. durch Umrechnung der einzelnen Farbpixel der Bilddaten auf einen entsprechenden Hellwert (auch Dunkelstufe genannt) . Zur Berechnung einer der Graustufenkopie 41 ent¬ sprechenden Schwarz-Weiß-Kopie 42 wird die Schwarz-Weiß-Kopie 42 zunächst als leeres bzw. weißes Bild mit den selben Dimensionen wie die Graustufenkopie 41 in einem Initialisierungsschritt 43
Figure imgf000016_0001
Anschließend werden in einer Schleife 44 die einzelnen Pixel der Schwarz-Weiß-Kopie 42 berechnet, bis gemäß der Abbruchbedingung 45 sämtliche Pixel durchlaufen wurden.
Dabei wird auf Basis der Koordinaten des im aktuellen Schleifendurchlauf zu berechnenden Pixels zunächst in einem Berechnungs¬ schritt 46 ein durchschnittlicher Pixelwert der das aktuelle Pixel umgebenden Pixel der Graustufenkopie 41 entsprechend einer aus den Konfigurationsparametern 21 geladenen Blockgröße 47 berechnet. Der so erhaltene durchschnittliche Pixelwert wird mit einem der Umrechnung übergebenen Schwellwert 39 (vgl. Fig. 4) oder 48 (vgl. Fig. 9) verglichen. Je nachdem, ob der berechnete durchschnittliche Pixelwert eines das aktuell zu berechnenden Pixel umgebenden Blocks oberhalb oder unterhalb des Schwellwerts liegt, erfolgt eine Zuweisung als schwarzes Pixel 49 oder weißes Pixel 50 in der Schwarz-Weiß-Kopie 42.
Ausgehend von dem umgerechneten Schwarz-Weiß-Bild 27 stellt Fig. 6 den Ablauf der Umrisserkennung 29 dar. Dabei wird zunächst im Rahmen einer Initialisierung 51 rund um die Bilddaten des
Schwarz-Weiß-Bilds 27 ein ein Pixel breiter weißer Rand gelegt. Anschließend beginnt die Umrisssuche in einer Schleife ausgehend von einem Eckpunkt des so modifizierten Schwarz-Weiß-Bilds. Die Abbruchbedingung 52 der Schleife überprüft, ob das gerade ausge¬ wählte Pixel außerhalb der Abmessungen des modifizierten
Schwarz-Weiß-Bilds liegt und beendet in diesem Fall die Umriss¬ suche, indem die bisher erkannten und zwischengespeicherten Umrisse 28 weitergegeben werden (Ausgang B) . Andernfalls, d.h. wenn das aktuelle Pixel innerhalb der Abmessungen des modifi¬ zierten Schwarz-Weiß Bilds liegt, wird eine Überprüfung 53 vorgenommen, um festzustellen, ob an der Stelle des aktuellen Pixels ein neuer, noch nicht erkannter Umriss beginnt. Diese Bedingung wäre im vorliegenden Fall dann erfüllt, wenn erstens dem aktuelle Pixel ein schwarzer Farbwert zugeordnet ist und zweitens dem links davon benachbarten Pixel ein weißer Farbwert zugeordnet ist und drittens das aktuelle Pixel nicht Teil eines bereits erkannten Umrisses ist. Falls alle drei Bedingungen erfüllt sind, wird ein neuer Umriss an der Stelle des aktuellen Pixels initialisiert, wobei die Initialisierung 54 das benach¬ barte weiße Pixel als Ausgangspunkt für die Suche 55 nach einem benachbarten schwarzen Pixel zwischenspeichert. Falls die obigen Bedingungen nicht erfüllt sind, wird in einem weiteren Überprüfungsschritt 56 festgestellt, ob ein neuer Umriss an dem links benachbarten Pixel beginnt. Dies ist dann der Fall, wenn dem aktuellen Pixel der Farbwert Weiß und dem links benachbarten Pixel der Wert Schwarz zugeordnet ist, und wenn das links benachbarte Pixel nicht Teil eines bereits erkannten Umrisses ist. Falls diese drei Bedingungen erfüllt sind erfolgt eine Initialisierung 57 eines neuen Umrisses ausgehen von dem links des aktuellen Pixels benachbarten Pixels, wobei das aktuelle Pixel als Ausgangspunkt für die nachfolgende Suche 55
zwischengespeichert wird. Wenn keine der Überprüfungen 53, 56 einen neuen Umriss feststellen konnte, wird als nächstes das rechts des aktuellen Pixels benachbarte Pixel oder - falls das aktuelle Pixel bereits am rechten Rand des modifizierten
Schwarz-Weiß Bilds angeordnet ist - das linke Pixel der darunter benachbarten Zeile in einem Auswahlschritt 58 festgestellt und ausgewählt und im nächsten Schleifendurchlauf als aktuelles Pixel verarbeitet. Wenn ein neuer Umriss erkannt wurde, wird während der Suche 55 ausgehend von einem jeweils während der Initialisierung 54 bzw. 57 festgelegten Ausgangspunkt im
Uhrzeigersinn das erste benachbarte Pixel des Umrissstartpunkts ermittelt und als Fortsetzungspunkt ausgewählt. Anschließend erfolgt ein Vergleich 59 des Fortsetzungspunkts mit dem Umriss¬ startpunkt, um festzustellen, ob bereits der gesamte Umriss rekonstruiert wurde. Andernfalls wird die Suche 55 vom Fort¬ setzungspunkt fortgesetzt, wobei in diesem Fall gegen den
Uhrzeigersinn nach dem nächsten Fortsetzungspunkt gesucht wird.
Sobald der Umriss vollständig rekonstruiert wurde, wird dieser gespeichert bzw. den bisher erkannten Umrissen 28 hinzugefügt. In weiterer Folge wird die Umrisserkennung mit dem Auswahlvorgang 58 des nächsten Pixels des modifizierten Schwarz-Weiß-Bilds fortgesetzt, bis alle Pixel durchlaufen und somit sämtliche in den Bilddaten des Schwarz-Weiß Bilds 27 repräsentierten Umrisse 28 erkannt wurden.
Ausgehend von den erkannten Umrissen 28 wird im Rahmen der
Umrissauswahl 30 (vgl. Fig. 3), welche in Fig. 7 genauer
dargestellt ist, ein Anzeigeumriss 31, d.h. jener Umriss, von dem angenommen wird, dass er die in den Bilddaten des Farbbilds 26 enthaltene Repräsentation der Anzeigefläche des Displays 2 begrenzt, ausgewählt. Zur Umrissauswahl 30 wird zunächst jeder einzelne Umriss einer Umrissvereinfachung 60 (vgl. Fig. 8) unterzogen. Anhand der Anzahl der nach der Vereinfachung 60 den Umriss bildenden Eckpunkte wird überprüft, s. Feld 61, ob der vereinfachte Umriss einem Viereck entspricht, und die Vierecke, vgl. Feld 62, d.h. alle vereinfachten Umrisse mit vier Eckpunkten, werden zwischengespeichert. Nachdem alle Umrisse 28 auf diese Weise verarbeitet wurden, wird festgestellt, Feld 63, ob zumindest ein Viereck 62 erkannt wurde, und andernfalls wird das Verfahren gemäß Anschlusspunkt C (vgl. Fig. 4) ausgehend vom Ladevorgang 37 neu gestartet. Falls zumindest ein Viereck 62 gefunden wurde, werden in einem Vergleichsschritt 65 die
Flächeninhalte aller Vierecke 62 berechnet und jenes Viereck mit dem größten Flächeninhalt als Anzeigeumriss 31 erkannt.
Die Umrissvereinfachung 60 erfolgt im Wesentlichen nach dem an sich bekannten Ramer-Douglas-Peucker-Algorithmus , welcher in Fig. 8 schematisch dargestellt ist. Während der Initialisierung 66 wird zunächst ein Grenzwert ε in Abhängigkeit von der Länge des zu vereinfachenden Umrisses festgelegt. Der Grenzwert ε kann beispielsweise als 2 % der Gesamtlänge des jeweiligen Umrisses angenommen werden. Anschließend werden der erste und letzte Bildpunkt des Umrisses markiert, und der Abstand sämtlicher Bildpunkte des Umrisses von einer den ersten Punkt mit dem letzten Bildpunkt verbindenden Linie wird berechnet. Anhand der berechneten Abstände erfolgt eine Auswahl - s. Block 68 - jenes Bildpunkts des Umrisses, welcher den größten Abstand zu der so berechneten Linie aufweist. Falls dieser Abstand den Grenzwert ε überschreitet, wird der Umriss an diesem Bildpunkt geteilt und das Verfahren rekursiv für jeden der beiden Teile, d.h. für einen Abschnitt des Umrisses vom ersten Bildpunkt zu dem Bild¬ punkt mit dem größten Abstand, und für einen zweiten Abschnitt von diesem Bildpunkt zum letzten Bildpunkt, rekursiv wiederholt. Sobald die Teilung 70 zu einer Anzahl von Abschnitten geführt hat, bei der jeder Bildpunkt innerhalb der einzelnen Abschnitte innerhalb des Grenzwerts ε liegt, werden alle übrigen Bildpunkte des zu vereinfachenden Umrisses, d.h. all jene Bildpunkte, die nicht zumindest einen Abschnitt begrenzen, gelöscht, s. Block 71, wobei die verbleibenden Bildpunkte den vereinfachten Umriss bilden .
Im Anschluss an die Umrissauswahl 30 gemäß Fig. 7 erfolgt die Aufbereitung 32 der der Anzeigefläche des Displays 2
entsprechenden Bilddaten des Farbbilds 26 gemäß Fig. 9. Hierbei wird zunächst ein dem Anzeigeumriss 31 entsprechender Ausschnitt des Farbbilds 26 zur Weiterverarbeitung ausgewählt, s. Block 72, oder ausgeschnitten. In der anschließenden Perspektivenkorrektur gemäß Block 73 wird der so erhaltene Ausschnitt in ein Rechteck transformiert. Die Transformation erfolgt dabei durch Lösung des nachstehenden linearen Gleichungssystems (1) und Anwendung der daraus resultierenden Transformationskoeffizienten c±j auf den im Allgemeinen verzerrten Ausschnitt des Farbbilds 26:
Figure imgf000020_0001
Dabei geben x± und y± die horizontalen bzw. vertikalen Koordinaten der vier Eckpunkte i=0,l,2,3 des verzerrten Ausschnitts an, und u± und v± sind die horizontalen bzw. vertikalen Koordinaten der vier Eckpunkte i=0,l,2,3 des entsprechend entzerrten Rechtecks, so dass durch Lösung des Gleichungssystems (1) die Werte der Transformationskoeffizienten c±j berechnet werden können .
Mit den Koeffizienten c±j kann anschließend der transformierte Ausschnitt Pixel für Pixel berechnet werden, wobei ein Farbwert p des Pixels an einer Stelle x, y des transformierten Aus¬ schnitts wie folgt berechnet wird: c00-x+c01-y+c02 Cio- + C -y+c -12 (2) p(x y)= q
c20-x+c21-y+c22 r c20-x + c21-y+c2 I wobei der Transformationskoeffizient c22 konstant c22=l ist und q den Farbwert des Farbbilds 26 an der durch die beiden Parameter angegebenen Stelle angibt.
Auf Basis des transformierten und nunmehr rechteckigen Ausschnitts wird anschließend anhand der Farbinformationen der einzelnen Pixel ein mittlerer Hellwert des gesamten Ausschnitts berechnet, s. Block 74, und als berechneter Schwellwert 48 der anschließenden Umrechnung, Block 38, des rechteckigen
Ausschnitts in einen Schwarz-Weiß-Ausschnitt, Feld 75, über¬ geben. Die Umrechnung 38 erfolgt dabei analog zu Fig. 4 gemäß dem in Fig. 5 dargestellten Verfahren, wobei anstelle des festen Schwellwerts 39 der berechnete Schwellwert 48 verwendet wird. Der Schwarz-Weiß-Ausschnitt 75 entspricht folglich einer
rechteckigen Schwarz-Weiß Darstellung des Displays 2.
Ausgehend von dem Schwarz-Weiß-Ausschnitt 75 zeigt Fig. 10 die Identifikation 34 (vgl. Fig. 3) der Zeilen und der die Zeilen bildenden Zeichen des Displays 2. Hierfür wird zunächst gemäß Block 76 eine Berechnung eines horizontalen Pro ektionsprofils des Schwarz-Weiß-Ausschnitts 75 durchgeführt. Das horizontale Pro ektionsprofil entspricht im Wesentlichen einem Histogramm des Anteils an schwarzen Pixeln in jeder Pixelreihe des Schwarz- Weiß-Ausschnitts 75. Zur Identifikation, Block 77, der Zeilen wird die erste Ableitung des Histogramms berechnet, und es werden jeweils die Oberkanten bzw. Unterkanten jeder Zeile anhand der lokalen Maxima bzw. Minima im abgeleiteten horizontale Projektionsprofil ermittelt. Im Anschluss daran erfolgt für jede Zeile eine Identifikation der darin enthaltenen Zeichen nach einem ähnlichen Verfahren, wobei zunächst ein vertikales
Projektionsprofil berechnet wird, Block 78, und anhand der ersten Ableitung des vertikalen Projektionsprofils bzw. deren lokalen Maxima und Minima die linke bzw. rechte Kante der einzelnen Zeichen identifiziert wird, Block 79. Wenn alle Zeilen verarbeitet wurden, wird der dem Inhalt des Displays 2
entsprechende Anzeigetext 80, z.B. Im Wertspeicher 23 (vgl. Fig. 2), für die Verwendung im Vergleichsmodul 19 abgelegt, Block 81. In einer folgenden Überprüfung, Feld 82, werden die zuletzt abgelegten Anzeigetexte 80 verglichen und bei zumindest drei übereinstimmenden Anzeigetexten 80 wird dieser Anzeigetext z.B. an weitere Anwendungsmodule 20 (vgl. Fig. 2) weitergegeben.
Die Erkennung der einzelnen identifizierten Zeichen, d.h. die Ermittlung der jeweils zugeordneten Bedeutung, ist in Fig. 11 genauer dargestellt. Ausgehend von einem in der Zeichenidentifi¬ kation 79 (vgl. Fig. 10) identifizierten Schwarz-Weiß Zeichen 83 im Schwarz-Weiß-Ausschnitt 75 wird zur Zeichenerkennung 35 (vgl. Fig. 3) eine vorgegebene Segmentkonfiguration, Block 84,
verwendet. Die Segmentkonfiguration 84 kann z.B. aus einem
Messgerätespeicher 22 (vgl. Fig. 2) geladen werden. Sie enthält etwa Angaben über Position und Ausdehnung der einzelnen Segmente innerhalb des Schwarz-Weiß-Zeichens 83. Anhand dieser Angaben wird zunächst eine Berechnung, Block 85, eines jedem Segment zugeordneten Anteils an schwarzen Pixel berechnet. Die so erhaltenen Anteile an schwarzen Pixel pro Segment des Schwarz- Weiß-Zeichens 83 werden sortiert, Block 86, und es wird eine Position der größten Lücke zwischen zwei benachbarten Anteilen gesucht, Block 87. Falls die Größe der Lücke d.h. der maximale Abstand zwischen zwei benachbarten Anteilen ein festgelegtes Minimum überschreitet, Feld 88, werden die den Anteilen oberhalb der Lücke zugeordneten Segmente als aktiv und die übrigen
Segmente als inaktiv markiert. Andernfalls, d.h. wenn die Lücke das Minimum nicht überschreitet, wird allen Segmenten der gleiche Status zugewiesen, d.h. es werden entweder alle als aktiv (entsprechend der dargestellten Ziffer acht) oder alle als inaktiv (was praktisch als Ziffer null gewertet wird) erkannt. In diesem Fall wird ein vorgegebener Anteil an schwarzen Pixeln, welcher fix definiert oder konfigurierbar ist, z.B. aus dem Messgerätespeicher 22 geladen wird, als Referenzwert verwendet, um zu entscheiden, ob alle Segmente als aktiv oder inaktiv klassifiziert werden (je nachdem ob die erhaltenen Anteile größer oder kleiner als der Referenzwert sind) . Auf Basis der so erhaltenen Aktivität der einzelnen Segmente kann eine Zeichenerkennung, Block 89, beispielsweise durch Nachschlagen der
Aktivität in einer Segmenttabelle, welche jede Kombination von Aktivitäten eine Bedeutung in Form eines Buchstabens oder einer Zahl zuordnet, das Zeichen erkennen. Diese Zeichenerkennung wird - wie durch die Anschlusspunkte F und G in Fig. 11 und Fig. 10 angedeutet - für jedes Zeichen einer Zeile wiederholt, bis alle identifizierten Zeichen erkannt wurden.

Claims

Patentansprüche
1. Verfahren zur optischen Erkennung von auf einem Display (2) angezeigten Zeichen (4), wobei Bilddaten gewonnen werden, welche eine Repräsentation des Displays (2) enthalten, umfassend die folgenden Schritte:
a) Erkennung (29, 30) einer Anzeigefläche des Displays (2) in den gewonnenen Bilddaten;
b) Aufbereitung (32) der die erkannte Anzeigefläche
repräsentierenden Bilddaten;
c) Durchführung einer optischen Zeichenerkennung (34, 35) anhand der aufbereiteten Bilddaten; und
d) Ablegen der bei der optischen Zeichenerkennung (34, 35) erkannten Zeichen in einem Speicher (13) .
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass zur Erkennung (29, 30) der Anzeigefläche zumindest ein in den
Bilddaten repräsentierter Umriss (28), welcher einer Folge von Bildpunkten entspricht, erkannt wird, wobei der erkannte Umriss (28) vorzugsweise durch Auswahl einzelner Bildpunkte vereinfacht wird .
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass zumindest eine zusammenhängende Folge benachbarter Bildpunkte mit gleichem oder ähnlichem Farbwert als Umriss (28) erkannt wird .
4. Verfahren nach Anspruch 2 oder 3, dadurch gekennzeichnet, dass zur Vereinfachung (60) des zumindest einen erkannten
Umrisses (28) der Douglas-Peucker-Algorithmus verwendet wird.
5. Verfahren nach einem der Ansprüche 2 bis 4, dadurch
gekennzeichnet, dass bei mehreren erkannten Umrissen (28) der Umriss mit der größten eingeschlossenen Fläche, dessen Anzahl von Bildpunkten der Anzahl der Eckpunkte des Displays (2) entspricht, als Umriss (31) der Anzeigefläche erkannt wird.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch
gekennzeichnet, dass zur Aufbereitung (32) der die Anzeigefläche repräsentierenden Bilddaten ein der erkannten Anzeigefläche entsprechender Ausschnitt aus den ursprünglich gewonnenen
Bilddaten ausgewählt wird.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass nach der Erkennung der Anzeigefläche und vor der optischen
Zeichenerkennung nur die Bilddaten des ausgewählten Ausschnitts aufbereitet werden.
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch
gekennzeichnet, dass zur Aufbereitung (32) der die Anzeigefläche repräsentierenden Bilddaten eine perspektivische Verzerrung der erkannten Anzeigefläche in den ursprünglich gewonnenen Bilddaten oder dem Ausschnitt aus den ursprünglich gewonnenen Bilddaten korrigiert wird.
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch
gekennzeichnet, dass zur optischen Zeichenerkennung (34, 35) ein Histogramm einer horizontalen Projektion der Farbwerte der aufbereiteten Bilddaten erstellt wird und aus dem Histogramm die Position zumindest einer Zeile von auf dem Display angezeigten Zeichen ermittelt wird.
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass zur optischen Zeichenerkennung (34, 35) ein Histogramm einer vertikalen Projektion der Farbwerte eines der Zeile entsprechenden Ausschnitts der aufbereiteten Bilddaten erstellt wird und aus dem Histogramm die Anzahl und Position zumindest eines in der Zeile angezeigten Zeichens ermittelt wird.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass das angezeigte Zeichen aus den Farbwerten eines dem Zeichen entsprechenden Ausschnitts der aufbereitete Bilddaten ermittelt wird, wobei vorzugsweise die Zustände einer Mehrzahl von ein Zeichen darstellenden Segmenten und aus diesen Zuständen ein dargestelltes Zeichen ermittelt werden.
12. Verfahren nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, dass die Bilddaten ein Videosignal von aufeinander folgenden Einzelbildern umfassen, wobei nur solche Einzelbilder der Aufbereitung zugeführt werden, in denen eine Anzeigefläche des Displays erkannt wird.
13. Verfahren nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, dass die Bilddaten vor der Erkennung der
Anzeigefläche und/oder die aufbereiteten Bilddaten vor der
Durchführung einer optischen Zeichenerkennung (34, 35) mit einem adaptiven Schwellwertverfahren vorverarbeitet werden.
14. Verfahren nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, dass die Aufbereitung (32) der die erkannte Anzeigefläche repräsentierenden Bilddaten die Durchführung eines Schwellwertverfahrens mit einem globalen Schwellwert umfasst.
15. Verfahren nach einem der Ansprüche 1 bis 14, dadurch gekennzeichnet, dass die von der optischen Zeichenerkennung (34, 35) erkannten Zeichen entsprechend einer vordefinierten
Anordnung der angezeigten Zeichen gruppiert werden.
16. Verfahren nach einem der Ansprüche 1 bis 15, dadurch gekennzeichnet, dass vor dem Ablegen der erkannten Zeichen eine semantische Überprüfung dieser Zeichen oder von Zeichengruppen durchgeführt wird und die Zeichen nur dann abgelegt werden, wenn die semantische Überprüfung erfolgreich ist.
17. Mobiles Endgerät (1) mit einem Bildsensor zur Aufnahme der Bilddaten und mit einem Prozessor (12) und einem Speicher (13), eingerichtet zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 16 und zur Speicherung der auf dem Display (2) erkannten Zeichen.
PCT/AT2015/050080 2014-03-27 2015-03-27 Verfahren zur optischen erkennung von zeichen Ceased WO2015143471A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020167030200A KR101842535B1 (ko) 2014-03-27 2015-03-27 부호의 광학적 검출 방법
US15/129,378 US10055668B2 (en) 2014-03-27 2015-03-27 Method for the optical detection of symbols
JP2017501433A JP6630341B2 (ja) 2014-03-27 2015-03-27 シンボルの光学的検出方法
EP15715669.6A EP3123393B1 (de) 2014-03-27 2015-03-27 Verfahren zur optischen erkennung von zeichen

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ATA50224/2014A AT515595A2 (de) 2014-03-27 2014-03-27 Verfahren zur optischen Erkennung von Zeichen
ATA50224/2014 2014-03-27

Publications (1)

Publication Number Publication Date
WO2015143471A1 true WO2015143471A1 (de) 2015-10-01

Family

ID=52823966

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AT2015/050080 Ceased WO2015143471A1 (de) 2014-03-27 2015-03-27 Verfahren zur optischen erkennung von zeichen

Country Status (6)

Country Link
US (1) US10055668B2 (de)
EP (1) EP3123393B1 (de)
JP (1) JP6630341B2 (de)
KR (1) KR101842535B1 (de)
AT (1) AT515595A2 (de)
WO (1) WO2015143471A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6974128B2 (ja) * 2017-11-14 2021-12-01 アズビル株式会社 セグメント表示読取装置および方法
KR102045940B1 (ko) * 2019-05-21 2019-11-18 (주)케이테크놀로지 평판 디스플레이 액정 셀의 에지 검사방법
CN110554991A (zh) * 2019-09-03 2019-12-10 浙江传媒学院 一种文本图片的矫正与管理方法
EP3798898A1 (de) * 2019-09-30 2021-03-31 Anyline GmbH Computerimplementiertes verfahren zur optischen zeichenerkennung
JP7670321B2 (ja) * 2021-05-21 2025-04-30 Necプラットフォームズ株式会社 画像監視装置、方法及びプログラム
US20230186655A1 (en) * 2021-12-14 2023-06-15 Adalberto Maldonado Irizarry Smart License Plate Detection System for Land and Sea Vehicles
US12406353B2 (en) * 2022-12-22 2025-09-02 Communications Test Design, Inc. Systems and methods for defect detection on displays

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120092329A1 (en) * 2010-10-13 2012-04-19 Qualcomm Incorporated Text-based 3d augmented reality
DE102011000516A1 (de) 2011-02-04 2012-08-09 Karlheinz Schmidt Messdatenerfassungssystem
DE102012110273A1 (de) 2011-10-28 2013-05-02 General Electric Company Prüfsystem und -verfahren zum Korrelieren von Daten von Sensoren und visuellen Anzeigeeinrichtungen
US20130265232A1 (en) * 2012-04-08 2013-10-10 Samsung Electronics Co., Ltd. Transparent display apparatus and method thereof
US20140064559A1 (en) * 2012-09-03 2014-03-06 Toshiba Tec Kabushiki Kaisha Commodity recognition apparatus and commodity recognition method

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58213107A (ja) 1982-06-02 1983-12-12 Kawasaki Heavy Ind Ltd 流動層自動灰排出装置
JPS6459482A (en) 1987-08-31 1989-03-07 Toshiba Corp Character recognizing device
US5159667A (en) * 1989-05-31 1992-10-27 Borrey Roland G Document identification by characteristics matching
JPH10320526A (ja) 1997-05-14 1998-12-04 Toppan Printing Co Ltd 画像処理支援システムおよび画像処理支援方法並びに画像処理支援プログラムを記録した記録媒体
US7221810B2 (en) * 2000-11-13 2007-05-22 Anoto Group Ab Method and device for recording of information
WO2002063380A2 (en) * 2001-02-06 2002-08-15 Koninklijke Philips Electronics N.V. Preventing green non-uniformity in image sensors
JP2008059081A (ja) * 2006-08-29 2008-03-13 Sony Corp 画像処理装置及び画像処理方法、並びにコンピュータ・プログラム
JP5278093B2 (ja) * 2009-03-26 2013-09-04 大日本印刷株式会社 記事関連情報提供方法、装置、プログラム、記録媒体
JP4772894B2 (ja) * 2009-08-03 2011-09-14 シャープ株式会社 画像出力装置、携帯端末装置、撮像画像処理システム、画像出力方法、プログラムおよび記録媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120092329A1 (en) * 2010-10-13 2012-04-19 Qualcomm Incorporated Text-based 3d augmented reality
DE102011000516A1 (de) 2011-02-04 2012-08-09 Karlheinz Schmidt Messdatenerfassungssystem
DE102012110273A1 (de) 2011-10-28 2013-05-02 General Electric Company Prüfsystem und -verfahren zum Korrelieren von Daten von Sensoren und visuellen Anzeigeeinrichtungen
US20130265232A1 (en) * 2012-04-08 2013-10-10 Samsung Electronics Co., Ltd. Transparent display apparatus and method thereof
US20140064559A1 (en) * 2012-09-03 2014-03-06 Toshiba Tec Kabushiki Kaisha Commodity recognition apparatus and commodity recognition method

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
JAEYOUNG KIM ET AL: "Implementation of image processing and augmented reality programs for smart mobile device", PROCEEDINGS OF 2011 6TH INTERNATIONAL FORUM ON STRATEGIC TECHNOLOGY, 1 August 2011 (2011-08-01), pages 1070 - 1073, XP055173571, ISBN: 978-1-45-770398-0, DOI: 10.1109/IFOST.2011.6021205 *
JOAO PAOLO LIMA ET AL: "Real-Time Pattern Recognition using the OpenCV Library", SYMPOSIUM ON VIRTUAL AND AUGMENTED REALITY, 1 June 2007 (2007-06-01), pages 1 - 42, XP055199497, Retrieved from the Internet <URL:http://www.researchgate.net/profile/Thiago_Farias/publication/265311134_REAL-TIME_PATTERN_RECOGNITION_USING_THE_OPENCV_LIBRARY/links/54c8fbf70cf289f0ced13b28.pdf> [retrieved on 20150701] *
MARC PETTER ET AL: "Automatic text detection for mobile augmented reality translation", COMPUTER VISION WORKSHOPS (ICCV WORKSHOPS), 2011 IEEE INTERNATIONAL CONFERENCE ON, IEEE, 6 November 2011 (2011-11-06), pages 48 - 55, XP032095218, ISBN: 978-1-4673-0062-9, DOI: 10.1109/ICCVW.2011.6130221 *
XIAN LI ET AL: "LCD/LED DIGIT RECOGNITION BY IPHONE", M.SC. THESIS, 31 May 2011 (2011-05-31), pages 1 - 33, XP055199577, Retrieved from the Internet <URL:http://repositories.tdl.org/ttu-ir/bitstream/handle/2346/ETD-TTU-2011-05-1485/LI-THESIS.pdf?sequence=1&isAllowed=y> [retrieved on 20150701] *
YIBO LI ET AL: "Automatic Recognition System for Numeric Characters on Ammeter Dial Plate", YOUNG COMPUTER SCIENTISTS, 2008. ICYCS 2008. THE 9TH INTERNATIONAL CONFERENCE FOR, IEEE, PISCATAWAY, NJ, USA, 18 November 2008 (2008-11-18), pages 913 - 918, XP031373293, ISBN: 978-0-7695-3398-8 *

Also Published As

Publication number Publication date
JP2017521011A (ja) 2017-07-27
JP6630341B2 (ja) 2020-01-15
KR20170010753A (ko) 2017-02-01
KR101842535B1 (ko) 2018-03-28
AT515595A2 (de) 2015-10-15
EP3123393B1 (de) 2022-04-20
US10055668B2 (en) 2018-08-21
EP3123393A1 (de) 2017-02-01
US20170177968A1 (en) 2017-06-22

Similar Documents

Publication Publication Date Title
EP3123393B1 (de) Verfahren zur optischen erkennung von zeichen
DE69600461T2 (de) System und Verfahren zur Bewertung der Abbildung eines Formulars
DE69226846T2 (de) Verfahren zur Bestimmung von Wortgrenzen im Text
EP1413972B1 (de) Prüfung von Bildaufnahmen von Personen
DE102009023756B4 (de) Verfahren zum Herkunftsnachweis und zur Urheberschaft von Bildern
EP0131676B1 (de) Verfahren zum automatischen Digitalisieren des Umrisses von Strichgraphiken z.B. Buchstaben
DE102011056660B4 (de) Markierungsleser, der zum Priorisieren von Bildern eingerichtet ist und Verfahren zum Decodieren einer Markierung
DE60307967T2 (de) Bildverarbeitungsverfahren für die untersuchung des erscheinungsbildes
DE102013206009A1 (de) Robustes Zuschneiden von Nummernschildbildern
DE10346690B4 (de) Verfahren und Vorrichtung zum Detektieren eines Linearobjekts
DE102018129863A1 (de) Vorrichtung und Verfahren zur Datenverarbeitung
DE102013210375A1 (de) Auffinden von text in natürlichen szenen
WO2010115464A1 (de) Zweidimensionaler symbolcode und verfahren zum lesen des symbolcodes
DE60020038T2 (de) Verfahren zum Verarbeiten eines numerischen Bildes
DE102009057884A1 (de) Abbildungsvorrichtung
DE69713977T2 (de) Verfahren und Gerät zur Retuschierung eines digitalen Farbbildes
DE60303138T2 (de) Vergleichen von mustern
EP2639738A1 (de) Verfahren und Lesegerät zur Erfassung einer Mehrzahl nacheinander auf eine Anzeigevorrichtung dargestellter zweidimensionaler Codes
BE1029597A1 (de) Bildverarbeitungssysteme und -verfahren zum automatischen Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage interessierender Regionen (ROIs) digitaler Bilder
DE102015115394A1 (de) Verfahren und Vorrichtung zum Überlagern eines Abbilds einer realen Szenerie mit einem virtuellen Bild und mobiles Gerät
DE112022005421T5 (de) Verfahren zur identifizierung einer zeichenorientierung und zur dekodierung von zeichen für maschinelle bildverarbeitungssysteme
DE112016002252T5 (de) Automatische erkennung von panoramagesten
DE112024000706T5 (de) Objektidentifikation basierend auf einer teilweisen dekodierung
DE112019006414T5 (de) Vorrichtung und Verfahren zur Detektion von Menschen
EP3009984A1 (de) Detektionssystem für optische Codes

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: 15715669

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
ENP Entry into the national phase

Ref document number: 2017501433

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15129378

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20167030200

Country of ref document: KR

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2015715669

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015715669

Country of ref document: EP