ich habe folgendes Problem, ich würde gerne mittels OpenCV die Größe eines Filmes ändern.
Das funktioniert gut, allerdings werden durch die Umrechnung die dargestellten Linien stufige, was ziemlich scheiße ausschaut.
OpenCV bieten ja eigentlich über den Zusatz „interpolation= z.B.: cv2.INTER_NEAREST“ die Option an diese Kanten zu glätten, allerdings ist es bei mir so, dass egal welche Interpolation ich wähle, es überhaupt keinen Einfluss auf das Endergebnis hat.
Das gleiche Problem hab ich auch, wenn ich bei cv2.warpPerspective eine Interpolation versuche.
Ich verwende Python27 auf Windows 10.
Der Code schaut etwa so aus:
Code: Alles auswählen
import cv2
cap = cv2.VideoCapture('videoIN.mp4')
fourcc = cv2.VideoWriter_fourcc(*'MJPG')
ret, frame = cap.read()
out = cv2.VideoWriter('videoOUT.avi', fourcc, 30.0, (1280, 720))
while (cap.isOpened()):
ret, frame = cap.read()
if ret:
img = cv2.resize(frame, (1280, 720), interpolation=cv2.INTER_NEAREST)
out.write(img)
else:
break
cap.release()
out.release()