Suchen Sie die Position im Originalbild anhand der Koordinaten nach der affinen Konvertierung (Python + OpenCV).

Suchen Sie die Position im Originalbild anhand der Koordinaten nach der affinen Konvertierung

Ich möchte überprüfen, ob das nach der Affine-Konvertierung (cv2.warpAffine) ausgeschnittene Bild in das Originalbild passt. Die Koordinaten der vier Ecken des ausgeschnittenen Bildes sollten im Originalbild liegen

Denkweise

Bei der an warpAffine übergebenen Matrix handelt es sich um eine (2 × 3) -Matrix. Wenn Sie die Zeile [0, 0, 1] hinzufügen und ~~ transponieren, können Sie zuerst die verwendete Rotationsmatrix erhalten. Unter der Annahme, dass die Koordinaten nach der affinen Umwandlung (x, y) sind, multiplizieren Sie ~~ [x, y, 1] mit der inversen Matrix der Rotationsmatrix ~~ ]] Ich glaube, dass die ursprünglichen Koordinaten durch Multiplizieren mit (3 × 1) erhalten werden können. Ich denke, es gibt eine Methode, die OpenCV unterstützt, aber ~~ es ist mühsam zu finden ~~ Ich weiß nicht, welche ich verwenden soll oder wie ich sie verwenden soll.

Code

inverseWarpAffine.py


import cv2
import numpy as np

def getOriginalPosition(p, M):
  origin = np.array([[p.x], [p.y], [1]])
  rotateM = np.array([M[0], M[1], [0, 0, 1]])
  invM = np.linalg.inv(rotateM.T)
  return np.dot(invM, origin)[:2, 0]

Recommended Posts

Suchen Sie die Position im Originalbild anhand der Koordinaten nach der affinen Konvertierung (Python + OpenCV).
Suchen Sie den Teil 575 aus Wikipedia in Python
Python Open CV hat versucht, das Bild im Text anzuzeigen.
Finde Fehler in Python
Übergeben Sie die OpenCV-Daten der ursprünglichen C ++ - Bibliothek an Python
Ich habe versucht, die affine Matrix in der Bildausrichtung (Feature-Point-Matching) mithilfe der affinen Transformation zu finden
[Python] Verwenden von OpenCV mit Python (Bildtransformation)
Finden Sie Bildähnlichkeit mit Python + OpenCV
Bildaufnahme von der Kamera mit Python + OpenCV
Versuchen Sie, die Position eines Objekts auf dem Schreibtisch (reales Koordinatensystem) anhand des Kamerabilds mit Python + OpenCV zu messen
[Python] Laden Sie das Originalbild von der Google Bildsuche herunter
Ich habe versucht, das Bild mit Python + OpenCV zu "glätten"
Ich habe versucht, das Bild mit Python + OpenCV zu "differenzieren"
Was ist im Docker Python-Image pfeifend?
Berechnungsergebnis nach dem Dezimalpunkt in Python
[Python] Finde Koordinaten aus zwei Winkeln und Entfernungen
Finden Sie den Bruchteil des in Python eingegebenen Werts heraus
Ich habe versucht, das Bild mit Python + OpenCV zu "binarisieren"
Finden Sie die Lösung der Gleichung n-ter Ordnung mit Python
[Python] Finden Sie die Translokationsmatrix in Einschlussnotation
[Python + OpenCV] Malen Sie den transparenten Teil des Bildes weiß
Zeigen Sie in Python n Nachkommastellen an
[Python] Holen Sie sich die Zahlen im Diagramm mit OCR
[Python] Geben Sie den Bereich des Bildes durch Ziehen der Maus an
Konvertieren Sie das Bild in .zip mit Python in PDF
Schreiben Sie mit OpenCV-Python Zeichen in die Kartenillustration
Finden Sie die Hermite-Matrix und ihre eindeutigen Werte in Python
Finden Sie das maximale Python
Bildformat in Python
Die findähnliche Sache der Liste in Python
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Ich habe versucht, das Bild mit Python + OpenCV "gammakorrektur" zu machen
Finden Sie die scheinbare Breite einer Zeichenfolge in Python heraus
Python - Ermitteln Sie die Anzahl der Gruppen im regulären Ausdruck
Ich habe versucht, das Gesicht aus dem Video zu erkennen (OpenCV: Python-Version)
Rufen Sie den Wert ab, während Sie den Standardwert aus dict in Python angeben
Das Graustufenbild wird in OpenCV / Python als Farbbild angezeigt
Führen Sie die Python-Datei aus, nachdem Sie die virtuelle Python-Umgebung mit der Batch-Datei aktiviert haben
Finden Sie den Durchschnitt / die Standardabweichung der Helligkeitswerte im Bild
Finden Sie die Eigenwerte einer reellen symmetrischen Matrix in Python