Ich versuche, die Daten zu exportieren aus einer thermischen Kamera kommen, aber ich erhalte eine Fehlermeldung, die besagt,Python OpenCV cv2.VideoWriter Fehler
error: /build/opencv-ISmtkH/opencv-2.4.9.1+dfsg/modules/highgui/src/cap_ffmpeg.cpp:238: error: (-215) image->depth == 8 in function writeFrame
Kann jemand sehen, was ich tue und sagt mir, was Ich mache falsch? Ich habe das Beispiel sehr genau verfolgt und verstehe nicht, was dieser Fehler bedeutet oder warum es passiert.
o = camera.add_overlay(np.getbuffer(a), size=(320,240), layer=3, alpha=int(alpha), crop=(0,0,80,60), vflip=flip_v)
filename = time.strftime("%Y.%m.%d %H.%M.%S", time.localtime()) + ".avi"
fourcc = cv2.cv.CV_FOURCC('I','4','2','0')
out = cv2.VideoWriter(filename, fourcc, fps, (width, height))
try:
time.sleep(0.2) # give the overlay buffers a chance to initialize
with Lepton(device) as l:
last_nr = 0
while True:
_,nr = l.capture(lepton_buf)
out.write(lepton_buf)
if nr == last_nr:
# no need to redo this frame
continue
last_nr = nr
cv2.normalize(lepton_buf, lepton_buf, 0, 65535, cv2.NORM_MINMAX)
np.right_shift(lepton_buf, 8, lepton_buf)
a[:lepton_buf.shape[0], :lepton_buf.shape[1], :] = lepton_buf
o.update(np.getbuffer(a))
except Exception:
traceback.print_exc()
finally:
camera.remove_overlay(o)
Das wurde den Fehler los, aber die Datei, die ausgegeben wird, ist immer beschädigt. Irgendeine Idee warum? –
was meinst du mit korrupt? – jlarsch
Sie vermissen auch eine 'out.release()' Anweisung, so dass der Puffer niemals geleert wird. –