DE102018208996A1 - Bildverarbeitungsverfahren - Google Patents

Bildverarbeitungsverfahren Download PDF

Info

Publication number
DE102018208996A1
DE102018208996A1 DE102018208996.5A DE102018208996A DE102018208996A1 DE 102018208996 A1 DE102018208996 A1 DE 102018208996A1 DE 102018208996 A DE102018208996 A DE 102018208996A DE 102018208996 A1 DE102018208996 A1 DE 102018208996A1
Authority
DE
Germany
Prior art keywords
image
corrected
points
axis
curved surface
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
DE102018208996.5A
Other languages
English (en)
Inventor
Kun-Lung HSU
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.)
Zeng Hsing Industrial Co Ltd
Original Assignee
Zeng Hsing Industrial Co Ltd
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 Zeng Hsing Industrial Co Ltd filed Critical Zeng Hsing Industrial Co Ltd
Priority to DE102018208996.5A priority Critical patent/DE102018208996A1/de
Publication of DE102018208996A1 publication Critical patent/DE102018208996A1/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30124Fabrics; Textile; Paper
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • G06T2207/30208Marker matrix

Landscapes

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

Abstract

Ein Bildverarbeitungsverfahren beinhaltet: Erfassen eines Bilds einer Kalibrierungstafel (2); Erfassen einer Mehrzahl von Merkmalspunkten im Bild der Kalibrierungstafel (2); Auswerten einer Mehrzahl von Kontrollparametern auf Basis der Merkmalspunkte, wobei die Kontrollparameter zusammenwirkend eine geometrische gekrümmte Oberfläche definieren, die an die Merkmalspunkte angepasst ist; und Durchführen einer Bildkorrektur an einem zu korrigierenden Bild auf Basis der geometrischen gekrümmten Oberfläche zum Erzeugen eines korrigierten Bilds.

Description

  • Die Offenbarung betrifft ein Bildverarbeitungsverfahren und insbesondere ein Bildverarbeitungsverfahren, das ein nicht-uniforme-rationale-B-Splines-Modell nutzt.
  • In einem konventionellen Verfahren zur Korrektur von Bildverzerrung, die von Kameralinsen herrührt, wird ein Verzerrungsmodell auf Basis geometrischer Gestaltungen der Kameralinsen konstruiert und Bilder werden gemäß dem Verzerrungsmodell korrigiert. Zum Beispiel ist das Verzerrungsmodell für eine Fischaugenlinse ein polynomes Modell.
  • Zusätzlich zu den geometrischen Gestaltungen der Kameralinsen können auch Linsenverformung während der Herstellung, Ungenauigkeit der Linsenanordnung und/oder Ungenauigkeit der Positionierung des Bildsensors zu Bildverzerrung führen.
  • In einem Zustand, in dem ein weiches Objekt (z.B. ein Stoffstück) auf eine unebene Oberfläche (z.B. eine gekrümmte Oberfläche) gelegt wird, kann das so aufgenommene Bild des weichen Objekts wie ein Bild mit Bildverzerrung aussehen. Die in den konventionellen Bildverarbeitungsverfahren genutzten Verzerrungsmodelle sind aber nicht in der Lage, das Bild des „verzerrten“ weichen Objekts (im Gegensatz zu einem auf eine flache Oberfläche gelegten) in eines umzuändern, das wie ein Bild desselben Objekts, das aber auf eine flache Oberfläche gelegt wurde, aussieht.
  • Daher ist es eine Aufgabe der Offenbarung, ein Bildverarbeitungsverfahren bereitzustellen, das in der Lage sein kann, von geometrischen Gestaltungen der Kameralinsen, Linsenverformung während der Herstellung, Ungenauigkeit der Linsenanordnung, Ungenauigkeit der Positionierung des Bildsensors und/oder Verformung des aufgenommenen Objekts selbst in der physischen Welt herrührende Verzerrung zu korrigieren.
  • Gemäß der Offenbarung beinhaltet das Bildverarbeitungsverfahren: Erfassen eines Bilds einer Kalibrierungstafel; Erfassen einer Mehrzahl von Merkmalspunkten im Bild der Kalibrierungstafel; Auswerten einer Mehrzahl von Kontrollparametern auf Basis der Merkmalspunkte, wobei die Kontrollparameter zusammenwirkend eine geometrische gekrümmte Oberfläche definieren, die an die Merkmalspunkte angepasst ist; und Durchführen einer Bildkorrektur an einem zu korrigierenden Bild auf Basis der geometrischen gekrümmten Oberfläche zum Erzeugen eines korrigierten Bilds.
  • Andere Merkmale und Vorteile der Offenbarung werden in der folgenden ausführlichen Beschreibung der Ausführungsform(en) in Bezug auf die Begleitzeichnungen offensichtlich, bei denen:
    • 1 ein Flussdiagramm ist, das die Schritte einer Ausführungsform des Bildverarbeitungsverfahrens gemäß dieser Offenbarung veranschaulicht;
    • 2 eine schematische Darstellung ist, die eine Kalibrierungstafel veranschaulicht;
    • 3 eine schematische Darstellung ist, die eine Mehrzahl von Eckpunkten eines mithilfe einer Fischaugenlinse aufgenommenen Bilds einer Kalibrierungstafel veranschaulicht;
    • 4 eine schematische Darstellung ist, die eine parametrische nicht-uniforme-rationale-B-Splines-Fläche mit einer Mehrzahl von Kontrollpunkten davon veranschaulicht, die anhand der Eckpunkte ausgewertet werden;
    • 5 eine schematische Darstellung ist, die das Definieren einer Anzahl von Pixeln eines korrigierten Bilds veranschaulicht;
    • 6 eine schematische Darstellung ist, die einen Bereich der parametrischen nicht-uniforme-rationale-B-Splines-Fläche veranschaulicht;
    • 7 eine schematische Darstellung ist, die mit den 5 und 6 kooperiert zum Veranschaulichen des Erfassens von Pixelwerten der Pixel des korrigierten Bilds;
    • 8 eine schematische Darstellung ist, die eine Koordinatenebene veranschaulicht, die von einem Bildkoordinatensystem abgedeckt werden muss, das einem zu korrigierenden Bild entspricht;
    • 9 eine schematische Darstellung ist, die eine weitere Implementierung zur Berechnung der Pixelwerte der Pixel des korrigierten Bilds veranschaulicht;
    • 10 eine schematische Darstellung ist, die ein korrigiertes Bild eines zu korrigierenden Bilds, das ein Bild der Kalibrierungstafel ist, beispielhaft veranschaulicht;
    • 11 eine schematische Darstellung ist, die eine weitere Kalibrierungstafel veranschaulicht;
    • die 12A bis 12E eine erste beispielhafte Implementierung dieser Ausführungsform veranschaulichen und
    • die 13A bis 13F eine zweite beispielhafte Implementierung dieser Ausführungsform veranschaulichen.
  • Bevor die Offenbarung ausführlicher beschrieben wird, ist zu beachten, dass, wo es für angebracht gehalten wurde, Bezugszeichen oder Endteile von Bezugszeichen unter den Figuren wiederholt wurden, um einander entsprechende oder analoge Elemente zu bezeichnen, die wahlweise ähnliche Eigenschaften haben können.
  • Die Ausführungsform des Bildverarbeitungsverfahrens, Bezug nehmend auf die 1 bis 3, wird durch ein Korrektursystem implementiert, das eine Kameravorrichtung und eine Rechnervorrichtung beinhaltet und das die Schritte 11 bis 14 beinhaltet. Die Rechnervorrichtung kann ein Desktop-Computer, ein Laptop, ein Tablet usw. sein und diese Offenbarung ist in dieser Hinsicht nicht beschränkt.
  • In Schritt 11 wird die Kameravorrichtung zum Aufnehmen eines Bilds einer Kalibrierungstafel 2 verwendet. In dieser Ausführungsform ist die Kalibrierungstafel 2 ein Schachbrett, diese Offenbarung ist aber in dieser Hinsicht nicht beschränkt. In Schritt 12 erfasst die Rechnervorrichtung eine Mehrzahl von Merkmalspunkten im Bild der Kalibrierungstafel 2. In einem Beispiel, wie in 3 gezeigt, verwendet die Rechnervorrichtung die Harris-Eckenerkennungsmethode zum Erfassen/Erkennen einer Vielzahl von Eckpunkten 31 in dem Bild 3 der Kalibrierungstafel 2, so dass sie als die Merkmalspunkte in der Form von schwimmenden Punkten dienen. In einer Ausführungsform kann die Kalibrierungstafel 2 andersartig sein, wie z.B. mit regelmäßig beabstandeten Punkten gemustert, wie in 11 gezeigt, und die Rechnervorrichtung kann durch Bilderkennungsmethoden eine Mitte jedes Punkts erfassen, so dass sie als die Merkmalspunkte dienen.
  • In Schritt 13, Bezug nehmend auf 4, berechnet/wertet die Rechnervorrichtung mehrere Kontrollparameter (z.B. Kontrollpunkte 41) (aus), die zusammenwirkend eine geometrische gekrümmte Oberfläche definieren, die an die Merkmalspunkte 31 angepasst ist. In dieser Ausführungsform ist die geometrische gekrümmte Oberfläche eine parametrische nicht-uniforme-rationale-B-Splines- (Non-uniform Rational B-Splines - NURBS) -Fläche 4, die durch Interpolation der parametrischen NURBS-Fläche erhalten wird, wobei die Merkmalspunkte 31 als Interpolationspunkte zur Auswertung der parametrischen NURBS-Fläche 4 verwendet werden, die an die Merkmalspunkte 31 angepasst ist und die definiert wird durch: S ( u ,v ) = i = 0 m j = 0 n w i .j P i ,j N i .p ( u ) N j .q ( v ) i = 0 m j = 0 n w i .j N i .p ( u ) N j .q ( v )
    Figure DE102018208996A1_0001
    wobei S(u,v) die durch (m+1)×(n+1) Kontrollparameter (Kontrollpunkte 41) definierte parametrische NURBS-Fläche 4 repräsentiert, m und n benutzerdefinierte positive Ganzzahlen sind, {wi,j} einen Satz gewichteter Werte repräsentiert, {Pi,j} einen Satz der Kontrollpunkte 41 repräsentiert, die unter Verwendung der Merkmalspunkte 31 berechnet werden, Ni,p(u) eine normalisierte B-Spline-Basisfunktion repräsentiert, die auf nichtperiodischen Knotenvektoren U={0,0, ..., 0, up+1, ..., um, 1, 1, ..., 1} definiert ist, Nj,q(v) eine normalisierte B-Spline-Basisfunktion repräsentiert, die auf nicht-periodischen Knotenvektoren V = {0,0,..., 0, vq+1, ..., vn, 1, 1, ..., 1} definiert ist, p einen Grad in einer Richtung der Knotenvektoren U repräsentiert (d.h. einer axialen Richtung einer u-Achse eines Bereichs 6 der parametrischen NURBS-Fläche 4) und q einen Grad in einer Richtung der Knotenvektoren V repräsentiert (d.h. eine axiale Richtung einer v-Achse des Bereichs 6 der parametrischen NURBS-Fläche 4). Es ist zu beachten, dass u zu [0, 1] gehört und v zu [0, 1] gehört.
  • In Schritt 14 verwendet die Rechnervorrichtung die parametrische NURBS-Fläche 4 zum Durchführen einer Bildkorrektur an einem zu korrigierenden Bild, um ein korrigiertes Bild zu erzeugen. Das Bild 3 der Kalibrierungstafel 2 in Form des in 3 gezeigten Schachbretts (siehe 2) wird als das zu korrigierende Bild 7 (siehe 7) zur Veranschaulichung im Folgenden verwendet. Der in dieser Offenbarung durchgehend verwendete Ausdruck „Korrigieren eines Bilds“ oder dergleichen soll umfassen, dass eine „Bildverzerrung“ infolge von optischen Imperfektionen abgeschwächt oder ausgeschlossen wird und/oder dass jedwedes im Bild aufgenommene Objekt, das beim Aufnehmen des Bilds in der physischen Welt „verzerrt“ oder „außer Form gebracht“ ist, wie ein Bild eines auf eine gekrümmte Oberfläche gelegten weichen Stoffs, nach Abschluss der Bildkorrektur „geglättet“ und in seine „normale Form“ zurückversetzt wird, als ob das Bild aufgenommen worden wäre, wenn zum Beispiel der Stoff auf eine ebene Fläche gelegt wurde.
  • Für das korrigierte Bild 5, Bezug nehmend auf 5, werden zuerst eine erste Pixelzahl (k) entlang einer ersten Bildachse (z.B. einer x-Achse) des korrigierten Bilds 5 und eine zweite Pixelzahl (t) entlang einer zweiten Bildachse, die quer zur ersten Bildachse (z.B. einer y-Achse) des korrigierten Bilds 5 ist, definiert. Das heißt, eine Größe/Auflösung des korrigierten Bilds 5 kann wie in diesem Korrekturalgorithmus erwünscht festgelegt/definiert werden.
  • Weiter mit Bezug auf die 6 und 7 werden die erste Pixelzahl (k) der ersten Abtastpunkte {ui | i=1, 2, ..., k} und die zweite Pixelzahl (t) der zweiten Abtastpunkte {vj| j=1, 2, ..., t} auf der u-Achse bzw. der v-Achse im Bereich 6 der parametrischen NURBS-Fläche 4 definiert. Die ersten und die zweiten Abtastpunkte definieren auf der parametrischen NURBS-Fläche 4 zusammenwirkend eine Mehrzahl von Punkten einer gekrümmten Oberfläche (die schwarzen Punkte in 6), die jeweils einem jeweiligen der Pixel des korrigierten Bilds 5 entsprechen. In dieser Ausführungsform unterteilen die ersten Abtastpunkte die Spanne zwischen 0 und 1 auf der u-Achse gleichmäßig, d.h. ein Abstand zwischen jedweden von zwei benachbarten ersten Abtastpunkten ist 1/k; die zweiten Abtastpunkte unterteilen die Spanne zwischen 0 und 1 auf der v-Achse gleichmäßig, d.h. ein Abstand zwischen jedweden von zwei benachbarten zweiten Abtastpunkten ist 1/t; und Koordinaten (ui , vj ) im Bereich 6 entsprechen einem Punkt der gekrümmten Oberfläche S ((i-0,5)/k,(j-0,5)/t) auf der parametrischen NURBS-Fläche 4. Das heißt, falls f(i,j) verwendet wird, um ein (i,j)-tes Pixel des korrigierten Bilds 5 (ein Pixel an der i-ten Spalte und der j-ten Reihe einer Pixelanordnung des korrigierten Bilds 5) darzustellen, entspricht f(i,j) (ui ,vj ) und dem Punkt der gekrümmten Oberfläche S((i-0,5)/5 k,(j-0,5)/t), wobei i eine positive Ganzzahl zwischen 1 und k (einschließlich 1 und k) ist und j eine positive Ganzzahl zwischen 1 und t (einschließlich 1 und t) ist. Wie in 6 gezeigt, ist der Bereich 6 in eine Mehrzahl identischer rechteckiger oder quadratischer Kästchen 64 unterteilt, deren Anzahl die gleiche wie eine Pixelgesamtzahl des korrigierten Bilds 5 ist. Jedes Kästchen 64 entspricht einem jeweiligen der Pixel des korrigierten Bilds 5 und hat einen Mittelpunkt, der einem jeweiligen der Punkte der gekrümmten Oberfläche auf der parametrischen NURBS-Fläche 4 entspricht. Dementsprechend entspricht jedes Pixel des korrigierten Bilds 5 einem jeweiligen der Punkte der gekrümmten Oberfläche, der dem Mittelpunkt des entsprechenden Kästchens 64 entspricht. Jedes Kästchen 64 im Bereich 6 entspricht einer Polygonregion 62 der parametrischen NURBS-Fläche 4 und jede Polygonregion 62 enthält einen Punkt der gekrümmten Oberfläche 63, der einem Pixel des korrigierten Bilds 5 entspricht. Es ist hierbei zu beachten, dass, da die parametrische NURBS-Fläche 4 keine flache Fläche ist, ihre Polygonregionen 62 sich in Größe und/oder Form voneinander unterscheiden können. Zum Beispiel können in dem in 7 abgebildeten Beispiel die Polygonregionen 62 ganz links wie Parallelogramme mit nicht-rechtwinkligen Ecken aussehen, während die in der Mitte wie Quadrate aussehen können.
  • Dann kann ein Pixelwert des Pixels f(i,j) des korrigierten Bilds 5 durch Durchführen einer Interpolation (z.B. Nächste-Nachbar-Interpolation, bilineare Interpolation usw.) auf Basis von wenigstens einem Pixel des zu korrigierenden Bilds 7 berechnet werden, das an eine Position angrenzt, die einem der Punkte der gekrümmten Oberfläche 63 entspricht, der dem Pixel f(i,j) entspricht (der Position auf dem zu korrigierenden Bild 7, die auf den entsprechenden Punkt der gekrümmten Oberfläche 63 ausgerichtet ist, wenn die parametrische NURBS-Fläche 4 mit der Kalibrierungstafel 2 in dem zu korrigierenden Bild 7 zusammenfällt). Zum Beispiel fällt in 7 die parametrische NURBS-Fläche 4 mit der Kalibrierungstafel 2 in dem zu korrigierenden Bild 7 zusammen und der Pixelwert eines Pixels f(5,6) des korrigierten Bilds 5 kann auf Basis von wenigstens einem Pixel des zu korrigierenden Bilds 7, das an einen Punkt der gekrümmten Oberfläche 63 S(4,5/k,5,5/t) angrenzt, entsprechend den Koordinaten (u5, v6) im Bereich 6 der parametrischen NURBS-Fläche 4 berechnet werden.
  • Da jeder Punkt der gekrümmten Oberfläche als schwimmender Punkt repräsentiert wird, Bezug nehmend auf 8, sollte ein Bildkoordinatensystem, das dem zu korrigierenden Bild 7 entspricht, eine Koordinatenebene 9 bedecken, die durch vier Endpunkte definiert wird: C1(-0,5,-0,5), C2(M-1+0,5,-0,5), C3(M-1+0,5,N-1+0,5) und C4(-0,5,N-1+0,5), wenn das zu korrigierende Bild 7 eine Anzahl (M×N) von Pixeln hat, um die Punkte der gekrümmten Oberfläche zu bedecken, die an Rändern der parametrischen NURBS-Fläche 4 angeordnet sind. Das (i,j)-te Pixel des zu korrigierenden Bilds 7 hat einen Mittelpunkt, dessen Koordinaten im Bildkoordinatensystem (i-1,j-1) sind, wobei i eine positive Ganzzahl zwischen 1 und M (einschließlich 1 und M) ist und j eine positive Ganzzahl zwischen 1 und N (einschließlich 1 und N) ist.
  • In einer weiteren Ausführungsform, Bezug nehmend auf 9, kann der Pixelwert des Pixels f(i,j) (z.B. f(5,6)) des korrigierten Bilds 5 durch Durchführen einer Interpolation auf Basis eines gewichteten Mittels der Pixel des zu korrigierenden Bilds 7, das die Polygonregion 62 der parametrischen NURBS-Fläche 4 überlappt, die den Punkt ((i-0,5)/k,(j-0,5)/t) (z.B. den Punkt S(4,5/k,5,5/t) in 9) enthält, berechnet werden. Jedes Pixel des zu korrigierenden Bilds 7 hat eine Gewichtung, die ein Verhältnis einer Fläche des Pixels ist, die die Polygonregion 62 überlappt. Zum Beispiel überlappt in 9 die Polygonfläche 62 die Pixel P1 bis P5 des zu korrigierenden Bilds 7 mit den Flächen A1 , A2 , A3 , A4 bzw. A5 . Indem V = i = 1 5 A i
    Figure DE102018208996A1_0002
    gemacht wird, kann das gewichtete Mittel repräsentiert werden durch i = 1 5 ( A i V × p i ) ,
    Figure DE102018208996A1_0003
    wobei p1 einen Pixelwert des Pixels Pi des zu korrigierenden Bilds 7 repräsentiert und Ai/V die Gewichtung für das Pixel Pi ist. In noch einer weiteren Ausführungsform kann die Gewichtung für das Pixel Pi des zu korrigierenden Bilds 7 auf Basis eines Abstands zwischen einer Mitte des Pixels Pi und dem Punkt ((i-0,5)/k,(j-0,5)/t) in dem zu korrigierenden Bild 7 definiert werden, wobei die Gewichtung umso größer ist, je kürzer der Abstand ist.
  • Dank der Punkte der gekrümmten Oberfläche 63 kann jedes Bild, das mit derselben Kameravorrichtung aufgenommen wird, korrigiert werden (in dem Sinne, dass ein Objekt im aufgenommenen Bild nach Durchführung der Korrektur unverzerrt erscheinen kann). 10 veranschaulicht ein korrigiertes Bild 5, das durch Durchführen der oben erwähnten Bildkorrektur am Bild 3 der Kalibrierungstafel 2 (siehe 2) erfasst wird, das als das zu korrigierende Bild 7 dient.
  • Da der oben erwähnte Bildkorrekturalgorithmus auf einem Aufnahmeergebnis einer Kamera basiert, können Verzerrungen infolge von zum Beispiel geometrischer Gestaltung der Kameralinse, Linsenverformung während der Herstellung, Ungenauigkeit der Linsenanordnung und/oder Ungenauigkeit der Positionierung des Bildsensors alle durch den Bildkorrekturalgorithmus abgeschwächt oder korrigiert werden. Außerdem kann eine Verformung des aufgenommenen Bilds, die sich aus dem aufgenommenen Objekt selbst in der physischen Welt (zum Beispiel ein aufzunehmendes Stück aus weichem Stoff wird auf eine gekrümmte Oberfläche gelegt) ergibt, ebenfalls mithilfe eines derartigen Bildkorrekturalgorithmus von der Verformung befreit werden.
  • Die 12A bis 12E veranschaulichen eine erste beispielhafte Implementierung der Ausführungsform. Wie in 12A gezeigt, wird ein Schachbrett 21, bei dem jedes Feld 211 ein quadratisches Muster mit einer Seitenlänge von 20 mm ist, an einer Ebene angebracht. Eine Kamera mit einer Fischaugenlinse wird zum Aufnehmen eines Bilds 3 des Schachbretts 21 verwendet (Schritt 11), das eine Pixelzahl von 640×480 hat, wie in 12B gezeigt.
  • Gemäß Schritt 12 erfasst die Rechnervorrichtung eine Anzahl (13×9) von Eckpunkten 31 durch Eckenerkennung, wie in 12C gezeigt, wobei jeder der Eckpunkte 31 als ein schwimmender Punkt dargestellt wird.
  • Gemäß Schritt 13 verwendet die Rechnervorrichtung die Eckpunkte 31 als Interpolationspunkte zum Berechnen einer parametrischen NURBS-Fläche 4, die an die Eckpunkte 31 angepasst ist, und berechnet eine Mehrzahl von Punkten der gekrümmten Oberfläche 63, die jeweils den Mittelpunkten der Kästchen 64 entsprechen (siehe 6 und 12D). In dieser beispielhaften Implementierung sind sowohl der Grad (p) in der u-Achsenrichtung als auch der Grad (q) in der v-Achsenrichtung zwei, die Knotenvektoren, die die u-Achsenrichtung für Ni,p(u) definieren, sind [0, 0, 0, 1/11, 2/11, 3/11, 4/11, 5/11, 6/11, 7/11, 8/11, 9/11, 10/11, 1, 1, 1], die interpolierten Werte in der u-Achsenrichtung sind [0, 1/12, 2/12, 3/12, 4/12, 5/12, 6/12, 7/12, 8/12, 9/12, 10/12, 11/12, 1], die Knotenvektoren, die die v-Achsenrichtung für Nj,q(v) definieren, sind [0, 0, 0, 1/7, 2/7, 3/7, 4/7, 5/7, 6/7, 1, 1, 1], die interpolierten Werte in der v-Achsenrichtung sind [0, 1/8, 2/8, 3/8, 4/8, 5/8, 6/8, 7/8, 1] und jeder der gewichteten Werte {wi,j} ist auf 1 festgesetzt.
  • Gemäß Schritt 14 führt die Rechnervorrichtung für jeden Punkt der gekrümmten Oberfläche 63 (durch jedes kleine Gitter in 12D repräsentiert) Interpolation auf Basis von wenigstens einem Pixel eines zu korrigierenden Bilds durch (das Bild 3 des Schachbretts 22 wird hierbei als Beispiel für das zu korrigierende Bild verwendet, aber als das zu korrigierende Bild kann auch ein anderes Bild (z.B. eines anderen Objekts), das mit derselben Kamera mit derselben Fischaugenlinse aus demselben Winkel aufgenommen wurde, verwendet werden), das an eine Position des Punkts der gekrümmten Oberfläche 63 angrenzt, um einen Pixelwert eines entsprechenden Pixels eines entsprechenden korrigierten Bilds zu erfassen.
  • Es ist zu beachten, dass die Punkte der gekrümmten Oberfläche 63 zum Durchführen der Korrektur an jedwedem Bild eines auf eine flache Oberfläche gelegten Objekts verwendet werden können, das unter Verwendung der Fischaugenlinse aufgenommen wird, wie etwa das in 12B gezeigte Bild 3. 12E zeigt ein korrigiertes Bild 5, das durch Durchführen der oben erwähnten Bildkorrektur an dem in 12B gezeigten Bild 3 erhalten wird, wobei das korrigierte Bild 5 eine Pixelzahl von 720×480 beinhaltet.
  • Die 13A bis 13F veranschaulichen eine zweite beispielhafte Implementierung der Ausführungsform, bei der das oben erwähnte Bildverarbeitungsverfahren auf eine computerisierte Stickmaschine angewendet wird.
  • Wie in 13A gezeigt, beinhaltet ein in dieser Implementierung verwendetes Schachbrett 22 (z.B. ein mit dem Schachbrettmuster bedrucktes Blatt Papier) eine Mehrzahl erster Felder 221, die jeweils 25 mm × 25 mm sind, eine Mehrzahl zweiter Felder 222, die jeweils 25 mm × 12,5 mm sind, und eine Mehrzahl dritter Felder 223, die jeweils 12,5 mm × 12,5 mm sind. Die computerisierte Stickmaschine beinhaltet eine Arbeitsplatte 10, die eine konvexe gekrümmte Oberfläche hat, die den Stickvorgang ermöglicht, wie in 13B gezeigt. Das flexible Schachbrett 22 ist der Arbeitsplatte 10 passend überlagert (d.h. der Teil des Schachbretts 22, der der Arbeitsplatte 10 überlagert ist, ist etwas verformt, um glatt auf die bzw. mit der konvexe(n) gekrümmte(n) Oberfläche der Arbeitsplatte 10 zu passen und in Kontakt zu sein) und eine Kamera mit einer Fischaugenlinse wird zum Aufnehmen eines Bilds 3 des Schachbretts 22 (Schritt 11) verwendet, das eine Pixelzahl von 1164×544 hat, wie in 13C gezeigt wird.
  • Gemäß Schritt 12 erfasst die Rechnervorrichtung eine Anzahl (11x8) von Eckpunkten 31 durch Eckenerkennung, wie in 13D gezeigt, wobei jeder der Eckpunkte 31 als ein schwimmender Punkt repräsentiert wird.
  • Gemäß Schritt 13 verwendet die Rechnervorrichtung die Eckpunkte 31 als Interpolationspunkte, um eine parametrische NURBS-Fläche 4 zu berechnen, die an die Eckpunkte 31 angepasst ist, wie in 13E gezeigt, und berechnet eine Mehrzahl von Punkten der gekrümmten Oberfläche 63, die jeweils den Mittelpunkten der Kästchen 64 entsprechen (siehe 6). In dieser beispielhaften Implementierung sind sowohl der Grad (p) in der u-Achsenrichtung als auch der Grad (q) in der v-Achsenrichtung 5 zwei, die Knotenvektoren, die die u-Achsenrichtung für Ni,p(u) definieren, sind [-2/9, -1/9, 0, 1/9, 2/9, 3/9, 4/9, 5/9, 6/9, 7/9, 8/9, 1, 1+1/9, 1+2/9], die interpolierten Werte in der u-Achsenrichtung sind [0, 1/18, 3/18, 5/18, 7/18, 9/18, 11/18, 13/18, 15/18, 17/18, 1], die Knotenvektoren, die die v-Achsenrichtung für Nj,q(v) definieren, sind [-2/6, -1/6, 0, 1/6, 2/6, 3/6, 4/6, 5/6, 1, 1+1/6, 1+2/6], die interpolierten Werte in der v-Achsenrichtung sind [0, 1/12, 3/12, 5/12, 7/12, 9/12, 11/12, 1] und jeder der gewichteten Werte {wi,j} ist auf 1 festgesetzt.
  • Gemäß Schritt 14 führt die Rechnervorrichtung für jeden Punkt der gekrümmten Oberfläche 63 Interpolation auf Basis von wenigstens einem Pixel eines zu korrigierenden Bilds durch (das in 13C gezeigte Bild 3 wird hierbei als Beispiel für das zu korrigierende Bild verwendet), das an eine Position des Punkts der gekrümmten Oberfläche 63 angrenzt, um einen Pixelwert eines entsprechenden Pixels eines entsprechenden korrigierten Bilds zu erfassen. Das zu korrigierende Bild kann in diesem Beispiel ein Bild eines auf die Arbeitsplatte 10 gelegten Objekts sein, das unter Verwendung der Fischaugenlinse aufgenommen wird.
  • Es ist zu beachten, dass die Punkte der gekrümmten Oberfläche zur Durchführung von Korrektur an jedwedem Bild eines auf die Arbeitsplatte 10 gelegten Objekts verwendet werden können, das mithilfe der Fischaugenlinse aufgenommen wird. 13F zeigt ein korrigiertes Bild 5 des Schachbretts 22, das durch Durchführen der oben erwähnten Bildkorrektur an einem Teil des Bilds 3 durchgeführt wird (siehe 13C), das der parametrischen NURBS-Fläche 4 entspricht (siehe 13E), wo das korrigierte Bild 5 eine Pixelzahl von 900x600 beinhaltet.
  • Wenn die Fischaugenlinse zum Aufnehmen eines Bilds zum Aufzeichnen oder zur Voransicht eines Stickpfads eines auf die Arbeitsplatte 10 gelegten Objekts (z.B. eines Stoffstücks) verwendet wird, kann das vorgeschlagene Bildverarbeitungsverfahren zum effektiven Korrigieren der Verformung des Objekts in der realen Welt, wie von dem Bild aufgenommen, und/oder der Verformung des Objekts und/oder des Stickpfads in dem Bild verwendet werden.
  • Zusammenfassend wird vorgeschlagen, dass die Ausführungsform des Bildverarbeitungsverfahrens gemäß dieser Offenbarung eine Vielzahl von Merkmalspunkten eines Bilds einer Kalibrierungstafel aufnimmt, eine parametrische NURBS-Fläche berechnet und an einem zu korrigierenden Bild eines Objekts unter Verwendung der berechneten parametrischen NURBS-Fläche auf Basis des Bilds der Kalibrierungstafel eine Korrektur vornimmt.
  • Ein derartiges Verarbeitungsverfahren kann an Bildern wirksam sein, die eine von geometrischen Gestaltungen der Kameralinsen, Linsenverformung während der Herstellung, Ungenauigkeit der Linsenanordnung, Ungenauigkeit der Positionierung des Bildsensors und/oder Verformung des aufgenommenen Objekts selbst in der physischen/realen Welt herrührende Verzerrung haben.
  • In der obigen Beschreibung werden zu Erläuterungszwecken zahlreiche spezifische Details dargelegt, um ein eingehendes Verständnis der Ausführungsform(en) zu vermitteln. Für einen Fachmann ist aber erkennbar, dass eine oder mehr andere Ausführungsformen ohne einige dieser spezifischen Details ausgeführt werden können.
  • Es ist auch zu beachten, dass Bezug auf „eine einzelne Ausführungsform“, „eine Ausführungsform“, eine Ausführungsform mit Angabe einer Ordnungszahl und so weiter in dieser Patentbeschreibung durchgehend bedeutet, dass ein(e) besondere(s) Merkmal, Struktur oder Eigenschaft in der Ausführung der Offenbarung enthalten sein kann. Es ist ferner zu beachten, dass in der Beschreibung verschiedene Merkmale manchmal zum Zweck der Rationalisierung der Offenbarung und als Beitrag zum Verständnis verschiedener Aspekte der Erfindung in einer einzelnen Ausführungsform, Figur oder Beschreibung davon zusammengruppiert werden.

Claims (9)

  1. Bildverarbeitungsverfahren, gekennzeichnet durch: Erfassen eines Bilds einer Kalibrierungstafel (2); Erfassen einer Mehrzahl von Merkmalspunkten im Bild der Kalibrierungstafel (2); Auswerten einer Mehrzahl von Kontrollparametern auf Basis der Merkmalspunkte, wobei die Kontrollparameter zusammenwirkend eine geometrische gekrümmte Oberfläche definieren, die an die Merkmalspunkte angepasst ist; und Durchführen einer Bildkorrektur an einem zu korrigierenden Bild auf Basis der geometrischen gekrümmten Oberfläche zum Erzeugen eines korrigierten Bilds.
  2. Bildverarbeitungsverfahren nach Anspruch 1, dadurch gekennzeichnet, dass die geometrische gekrümmte Oberfläche eine parametrische nicht-uniforme-rationale-B-Splines-Fläche ist und die Kontrollparameter jeweils einer Mehrzahl von Kontrollpunkten der parametrischen nicht-uniforme-rationale-B-Splines-Fläche entsprechen.
  3. Bildverarbeitungsverfahren nach Anspruch 2, dadurch gekennzeichnet, dass das Erzeugen des korrigierten Bilds Folgendes beinhaltet: für das korrigierte Bild, das eine erste Bildachse und eine zweite Bildachse, die quer zur ersten Bildachse ist, hat, definieren einer ersten Pixelzahl entlang der ersten Bildachse und einer zweiten Pixelzahl entlang der zweiten Bildachse, wobei das korrigierte Bild eine Mehrzahl von Pixeln hat, deren Anzahl mit der ersten Pixelzahl und der zweiten Pixelzahl in Zusammenhang steht; in einem Bereich der geometrischen gekrümmten Oberfläche definieren der ersten Pixelzahl erster Abtastpunkte auf einer ersten Achse des Bereichs und der zweiten Pixelzahl zweiter Abtastpunkte auf einer zweiten Achse des Bereichs, die quer zur ersten Achse des Bereichs ist, wobei die ersten Abtastpunkte und die zweiten Abtastpunkte auf der geometrischen gekrümmten Oberfläche zusammenwirkend eine Mehrzahl von Punkten der gekrümmten Oberfläche definieren, die jeweils einem der Pixel des korrigierten Bilds entsprechen; und Erzeugen des korrigierten Bilds auf Basis der Punkte der gekrümmten Oberfläche und des zu korrigierenden Bilds.
  4. Bildverarbeitungsverfahren nach Anspruch 3, dadurch gekennzeichnet, dass das zu korrigierende Bild eine Mehrzahl von Bildpixeln beinhaltet, wobei das Erzeugen des korrigierten Bilds ferner Folgendes beinhaltet: für jedes der Pixel des korrigierten Bilds Berechnen eines Pixelwerts auf Basis von wenigstens einem der Bildpixel des zu korrigierenden Bilds, das an eine Position angrenzt, die einem der Punkte der gekrümmten Oberfläche entspricht, der dem Pixel des korrigierten Bilds entspricht.
  5. Bildverarbeitungsverfahren nach Anspruch 4, dadurch gekennzeichnet, dass für jedes der Pixel des korrigierten Bilds sein Pixelwert durch Durchführen einer Interpolation auf Basis des genannten wenigstens einen der Bildpixel des zu korrigierenden Bilds berechnet wird.
  6. Bildverarbeitungsverfahren nach Anspruch 4, dadurch gekennzeichnet, dass für jedes der Pixel des korrigierten Bilds sein Pixelwert durch Berechnen eines gewichteten Mittels auf Basis des genannten wenigstens einen der Bildpixel des zu korrigierenden Bilds berechnet wird.
  7. Bildverarbeitungsverfahren nach Anspruch 3, dadurch gekennzeichnet, dass jedwede aneinandergrenzende zwei der ersten Abtastpunkte zwischen sich den gleichen Abstand auf der ersten Achse des Bereichs haben und jedwede aneinandergrenzende zwei der zweiten Abtastpunkte zwischen sich denselben Abstand auf der zweiten Achse des Bereichs haben.
  8. Bildverarbeitungsverfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Kalibrierungstafel (2) ein Schachbrett ist, das eine Mehrzahl von Eckpunkten enthält, und das Erfassen der Merkmalspunkte das Erkennen der Eckpunkte beinhaltet, so dass sie als die Merkmalspunkte dienen.
  9. Bildverarbeitungsverfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Kalibrierungstafel (2) eine gepunktete Tafel ist, die eine Mehrzahl von Punkten enthält, die voneinander beabstandet sind, und das Erfassen der Merkmalspunkte das Erkennen einer Mitte von jedem der Punkte beinhaltet, so dass sie als ein jeweiliger der Merkmalspunkte dient.
DE102018208996.5A 2018-06-07 2018-06-07 Bildverarbeitungsverfahren Ceased DE102018208996A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102018208996.5A DE102018208996A1 (de) 2018-06-07 2018-06-07 Bildverarbeitungsverfahren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018208996.5A DE102018208996A1 (de) 2018-06-07 2018-06-07 Bildverarbeitungsverfahren

Publications (1)

Publication Number Publication Date
DE102018208996A1 true DE102018208996A1 (de) 2019-12-12

Family

ID=68652101

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018208996.5A Ceased DE102018208996A1 (de) 2018-06-07 2018-06-07 Bildverarbeitungsverfahren

Country Status (1)

Country Link
DE (1) DE102018208996A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113658080A (zh) * 2021-08-23 2021-11-16 宁波棱镜空间智能科技有限公司 一种基于特征点匹配的线扫圆柱体几何校正方法及装置
CN113888640A (zh) * 2021-09-07 2022-01-04 浙江大学 一种适用于无人机云台相机的改进标定方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Non-uniform rational B-spline. In: Wikipedia. URL: https://en.wikipedia.org/w/index.php?title=Non-uniform_rational_B-spline&oldid=844728185 , Stand 06.06.2018 [abgerufen am 27.02.2019]. *
SHAH, S.; AGGARWAL, J.K.: Intrinsic parameter calibration procedure for a (high-distortion) fish-eye lens camera with distortion model and accuracy estimation. Pattern Recognition, Vol. 29, Issue 11, November 1996, Seiten 1775-1788. *
WOLBERG, G.: Geometric transformation techniques for digital images: A survey. Columbia University, Technical Report CUCS-390-88, 1988, Seiten 9-12. *
XIE, C. et al.: Simple auto-geometric correction for non-planar projection. IET Proc. International Conference on Automatic Control and Artificial Intelligence (ACAI 2012), 2012, Seiten 1834 – 1837. *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113658080A (zh) * 2021-08-23 2021-11-16 宁波棱镜空间智能科技有限公司 一种基于特征点匹配的线扫圆柱体几何校正方法及装置
CN113658080B (zh) * 2021-08-23 2023-12-22 宁波棱镜空间智能科技有限公司 一种基于特征点匹配的线扫圆柱体几何校正方法及装置
CN113888640A (zh) * 2021-09-07 2022-01-04 浙江大学 一种适用于无人机云台相机的改进标定方法
CN113888640B (zh) * 2021-09-07 2024-02-02 浙江大学 一种适用于无人机云台相机的改进标定方法

Similar Documents

Publication Publication Date Title
DE102016013274A1 (de) Bildverarbeitungsvorrichtung und verfahren zur erkennung eines bilds eines zu erkennenden objekts aus eingabedaten
DE102020105655A1 (de) Verfahren und system zum durchführen einer automatischen kamerakalibrierung zur roboterseuerung
DE69628723T2 (de) Gradientengestütztes Verfahren zur Erzeugung von Werten für unbekannte Pixel in einem Digitalbild
EP2494784B1 (de) Verfahren und vorrichtung zum erzeugen einer kalibrierten projektion
DE69926205T2 (de) Artefaktentfernungstechnik für schiefenkorrigierte bilder
DE112014006439B4 (de) Kantenerkennungsvorrichtung, Kantenerkennungsverfahren und Programm
EP2702757A2 (de) Scan-verfahren für ein grossformatiges scanner-system mit stitching-verfahren
EP1037166A1 (de) Verfahren zur Detektion von Konturen in einem Röntgenbild
DE102013112040B4 (de) System und Verfahren zum Auffinden von sattelpunktartigen Strukturen in einem Bild und Bestimmen von Informationen daraus
DE102006011719A1 (de) Bildverarbeitungsgerät und Verfahren zur Generierung von Registrierungsdaten bei der Bildverarbeitung
DE102016205382A1 (de) Randerkennungsabweichungskorrekturwertberechnungsverfahren, Randerkennungsabweichungskorrekturverfahren und Randerkennungsabweichungskorrekturprogramm
DE69913274T2 (de) Automatische Überwachung der Druckqualität durch ein elastisches Modell
DE112012006758T5 (de) System und Verfahren zum Erkennen von Hindernissen unter Verwendung einer einzigen Kamera
EP3089106A1 (de) Verfahren zur reflexionskorrektur von abbildungen und diesbezügliche vorrichtungen
DE102018208996A1 (de) Bildverarbeitungsverfahren
DE102017220752A1 (de) Bildverarbeitungsvorrichtung, Bildbverarbeitungsverfahren und Bildverarbeitungsprogramm
US20190378251A1 (en) Image processing method
DE102017209700A1 (de) Verfahren und Vorrichtung zur Erkennung von Kanten in einem Kamerabild, und Fahrzeug
WO2003042920A1 (de) Verfahren und vorrichtung zum entzerren einer eingescannten abbildung
DE112017006779T5 (de) Kamerasystem einschliesslich objektiv mit vergrösserungsgradient
EP3656561A1 (de) Schnelle bildentzerrung für bildinspektion
DE2406622C2 (de) Vorrichtung zur Erzeugung eines Differenzbildes aus einem ersten und einem zweiten Bild
DE19848243A1 (de) Biegewinkelerfassungssystem
DE102018209000A1 (de) Verfahren zum Generieren eines Bilds, das eine Stickfläche in einem Stickrahmen für computerisiertes Maschinensticken zeigt
EP3420533B1 (de) Verfahren zum kalibrieren eines optischen messaufbaus

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final