Ich verwende WarpPerspective(), um das Video zu stabilisieren. Nachdem ich diese Funktion aufgerufen habe, bleibt mir ein leicht gedrehtes Bild übrig, das einen leeren Platz im Bildrechteck frei lässt. z.B.OpenCV: Wie kann man nach dem Aufruf von warpPerspective in opencv einen Ausschnitt berechnen (oder trimmen), um ohne Leerraum zu passen?
Ich mag würde berechnen, wie viel ich trimmen müssen/Ernte des Bild, wo es innerhalb des Bildes des Rechtecks paßt ohne leeren Raum .. Ich kann nicht herausfinden, wie diese zu berechnen. Ich stelle mir vor, dass dies ein häufiges Problem sein muss, aber ich konnte keine Ergebnisse beim Stapelüberlauf finden (außer der Berechnung der Kontur für genähte Bilder, was meiner Meinung nach ein sehr anderes Problem ist).
Beispielcode:
import urllib
import numpy as np
import cv2
import matplotlib.pyplot as plt
link = "http://i68.tinypic.com/f4mhy0.jpg"
req = urllib.urlopen(link)
arr = np.asarray(bytearray(req.read()), dtype=np.uint8)
img = cv2.imdecode(arr,-1)
img=cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
(h, w) = img.shape[:2]
M=np.array([[1.00430091e+00,7.30151802e-03,-1.55476794e+01][-5.88214567e-03,1.00545504e+00,-3.72084380e+00], [4.47652947e-07,3.99215743e-06,1.00000000e+00]])
warped = cv2.warpPerspective(img, M, (w,h))
plt.imshow(warped),plt.show()
Mögliches Duplikat von [So zeigen Sie das gesamte Bild bei Verwendung von OpenCV warpPerspective] (http://stackoverflow.com/questions/13063201/how-to-show-the-whole-image-when-using-opencv-warperpective) – beaker