Thread skript läuft (leider) in endlosschleife
(8 answers)
Opened by attax at 2010-11-20 21:42
Hallo (bin zum ersten Mal hier);
mit folgendem code werden jpg-Bilder aus einer imagedatei extrahiert. Vorher soll aus den 4 Bytes 5588xx10 der Index xx mitgenommen werden. doch statt der ca. 650 Bilder hört das skript nie auf und schreibt immer wieder die gleichen Bilder in die Verzeichnisse. Mit while (!eof (FH)) { ... } funktioniert es wohl nicht. Keine Ahnung .. Vielen Dank im Voraus attax Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #!/usr/bin/perl use strict; use warnings; my $path = '/media/sdb1/frames/neu/frames_20mb.dat'; my ($x, $y, $u, $z, $un) = 0; my $count = 10000000; my $HEADER = "\xff\xd8"; my $FOOTER = "\xff\xd9"; open my $dh, '<', $path; my $data = do {local $/; <$dh>}; my $RE_match_four_bytes = qr<\x55\x88[\x00-\x0b]\x10>; while ($data =~ m/($RE_match_four_bytes)/g) { ($x, $y, $u, $z) = split ("", $1); $un = ord($u); if ( $data=~ m/($HEADER.*?$FOOTER)/sg) { my $image = $1; $count++; my $image_name = "/media/sdb1/frames/new/$un/cam.$un.$count.jpg"; open my $fh, "> $image_name"; print $fh $image; } } close $dh; //MODEDIT GwenDragon: Bitte Code in CODE-Tags stellen; siehe Anleitung (BBCode des Forums) Last edited: 2010-11-21 00:40:34 +0100 (CET) |