Ich habe das von Linacs EPID aufgenommene Video im Dicom-Format exportiert. Versuchen Sie wie gewohnt mit Pydicom zu analysieren.
import pydicom
dicom_data = pydicom.dcmread(file_name)
Dann
(0002, 0010) Transfer Syntax UID UI: MPEG2 Main Profile / Main Level
Ich verstehe, es ist ein Video. Wie gewöhnlich
array = dicom_data.pixel_array
Wenn ich versuche, das Pixel-Array mit zu bekommen
NotImplementedError: Unable to decode pixel data with a transfer syntax UID of '1.2.840.10008.1.2.4.100' (MPEG2 Main Profile / Main Level) as there are no pixel data handlers available that support it. Please see the pydicom documentation for information on supported transfer syntaxes
Das geht nicht
Ich habe mich gefragt, ob ich es von dicom_data.PixelData
aus analysieren kann, aber ich habe mich gefragt, ob es als normale Videodatei analysiert werden kann.
import cv2
cap = cv2.VideoCapture(file_name)
Das ist kein Fehler. Kannst du gehen?
frames = []
while True:
ret, frame = cap.read()
if ret == True:
frame=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY) #Ich habe eine Graustufe
frames.append(frame)
else:
break
Als ich versuchte, etwas zu tun, wurde die Liste der "Frames" erfolgreich erstellt. Wenn Sie dies "np.array (Frames) .shape" nennen
(143, 576, 720)
Sie können sehen, dass es 143 Bilder von 576 x 720 enthält. Danach könnte das erste Bild als "plt.imshow (np.array (frame) [0,:,:])" angezeigt werden.
Es stellte sich heraus, dass es mit opencv als normale Videodatei analysiert werden kann, ohne vorbereitet zu sein, da es sich um eine Dicom-Datei handelt.