kopia lustrzana https://github.com/OpenDroneMap/ODM
new run perl script; cleaned install scroot
rodzic
62a4aef73f
commit
c081cf9d20
|
@ -0,0 +1,273 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
%ccdWidths = (
|
||||
"Asahi Optical Co.,Ltd. PENTAX Optio330RS" => 7.176, # 1/1.8"
|
||||
"Canon Canon DIGITAL IXUS 400" => 7.176, # 1/1.8"
|
||||
"Canon Canon DIGITAL IXUS 40" => 5.76, # 1/2.5"
|
||||
"Canon Canon DIGITAL IXUS 430" => 7.176, # 1/1.8"
|
||||
"Canon Canon DIGITAL IXUS 500" => 7.176, # 1/1.8"
|
||||
"Canon Canon DIGITAL IXUS 50" => 5.76, # 1/2.5"
|
||||
"Canon Canon DIGITAL IXUS 55" => 5.76, # 1/2.5"
|
||||
"Canon Canon DIGITAL IXUS 60" => 5.76, # 1/2.5"
|
||||
"Canon Canon DIGITAL IXUS 65" => 5.76, # 1/2.5"
|
||||
"Canon Canon DIGITAL IXUS 700" => 7.176, # 1/1.8"
|
||||
"Canon Canon DIGITAL IXUS 750" => 7.176, # 1/1.8"
|
||||
"Canon Canon DIGITAL IXUS 800 IS" => 5.76, # 1/2.5"
|
||||
"Canon Canon DIGITAL IXUS II" => 5.27, # 1/2.7"
|
||||
"Canon Canon EOS 10D" => 22.7,
|
||||
"Canon Canon EOS-1D Mark II" => 28.7,
|
||||
"Canon Canon EOS-1Ds Mark II" => 35.95,
|
||||
"Canon Canon EOS 20D" => 22.5,
|
||||
"Canon Canon EOS 20D" => 22.5,
|
||||
"Canon Canon EOS 300D DIGITAL" => 22.66,
|
||||
"Canon Canon EOS 30D" => 22.5,
|
||||
"Canon Canon EOS 350D DIGITAL" => 22.2,
|
||||
"Canon Canon EOS 400D DIGITAL" => 22.2,
|
||||
"Canon Canon EOS 40D" => 22.2,
|
||||
"Canon Canon EOS 5D" => 35.8,
|
||||
"Canon Canon EOS DIGITAL REBEL" => 22.66,
|
||||
"Canon Canon EOS DIGITAL REBEL XT" => 22.2,
|
||||
"Canon Canon EOS DIGITAL REBEL XTi" => 22.2,
|
||||
"Canon Canon EOS Kiss Digital" => 22.66,
|
||||
"Canon Canon IXY DIGITAL 600" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot A10" => 5.23, # 1/1.8"
|
||||
"Canon Canon PowerShot A20" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot A400" => 4.54, # 1/3.2"
|
||||
"Canon Canon PowerShot A40" => 5.27, # 1/2.7"
|
||||
"Canon Canon PowerShot A510" => 5.76, # 1/2.5"
|
||||
"Canon Canon PowerShot A520" => 5.76, # 1/2.5"
|
||||
"Canon Canon PowerShot A530" => 5.76, # 1/2.5"
|
||||
"Canon Canon PowerShot A60" => 5.27, # 1/2.7"
|
||||
"Canon Canon PowerShot A620" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot A630" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot A640" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot A700" => 5.76, # 1/2.5"
|
||||
"Canon Canon PowerShot A70" => 5.27, # 1/2.7"
|
||||
"Canon Canon PowerShot A710 IS" => 5.76, # 1/2.5"
|
||||
"Canon Canon PowerShot A75" => 5.27, # 1/2.7"
|
||||
"Canon Canon PowerShot A80" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot A85" => 5.27, # 1/2.7"
|
||||
"Canon Canon PowerShot A95" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot G1" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot G2" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot G3" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot G5" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot G6" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot G7" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot G9" => 7.600, # 1/1.7"
|
||||
"Canon Canon PowerShot Pro1" => 8.8, # 2/3"
|
||||
"Canon Canon PowerShot S110" => 5.27, # 1/2.7"
|
||||
"Canon Canon PowerShot S1 IS" => 5.27, # 1/2.7"
|
||||
"Canon Canon PowerShot S200" => 5.27, # 1/2.7"
|
||||
"Canon Canon PowerShot S2 IS" => 5.76, # 1/2.5"
|
||||
"Canon Canon PowerShot S30" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot S3 IS" => 5.76, # 1/2.5"
|
||||
"Canon Canon PowerShot S400" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot S40" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot S410" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot S45" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot S500" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot S50" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot S60" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot S70" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot S80" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot SD1000" => 5.75, # 1/2.5"
|
||||
"Canon Canon PowerShot SD100" => 5.27, # 1/2.7"
|
||||
"Canon Canon PowerShot SD10" => 5.75, # 1/2.5"
|
||||
"Canon Canon PowerShot SD110" => 5.27, # 1/2.7"
|
||||
"Canon Canon PowerShot SD200" => 5.76, # 1/2.5"
|
||||
"Canon Canon PowerShot SD300" => 5.76, # 1/2.5"
|
||||
"Canon Canon PowerShot SD400" => 5.76, # 1/2.5"
|
||||
"Canon Canon PowerShot SD450" => 5.76, # 1/2.5"
|
||||
"Canon Canon PowerShot SD500" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot SD550" => 7.176, # 1/1.8"
|
||||
"Canon Canon PowerShot SD600" => 5.76, # 1/2.5"
|
||||
"Canon Canon PowerShot SD630" => 5.76, # 1/2.5"
|
||||
"Canon Canon PowerShot SD700 IS" => 5.76, # 1/2.5"
|
||||
"Canon Canon PowerShot SD750" => 5.75, # 1/2.5"
|
||||
"Canon Canon PowerShot SD800 IS" => 5.76, # 1/2.5"
|
||||
"Canon EOS 300D DIGITAL" => 22.66,
|
||||
"Canon EOS DIGITAL REBEL" => 22.66,
|
||||
"Canon PowerShot A510" => 5.76, # 1/2.5" ???
|
||||
"Canon PowerShot S30" => 7.176, # 1/1.8"
|
||||
"CASIO COMPUTER CO.,LTD. EX-S500" => 5.76, # 1/2.5"
|
||||
"CASIO COMPUTER CO.,LTD. EX-Z1000" => 7.716, # 1/1.8"
|
||||
"CASIO COMPUTER CO.,LTD EX-Z30" => 5.76, # 1/2.5 "
|
||||
"CASIO COMPUTER CO.,LTD. EX-Z600" => 5.76, # 1/2.5"
|
||||
"CASIO COMPUTER CO.,LTD. EX-Z60" => 7.176, # 1/1.8"
|
||||
"CASIO COMPUTER CO.,LTD EX-Z750" => 7.176, # 1/1.8"
|
||||
"CASIO COMPUTER CO.,LTD. EX-Z850" => 7.176,
|
||||
"EASTMAN KODAK COMPANY KODAK CX7330 ZOOM DIGITAL CAMERA" => 5.27, # 1/2.7"
|
||||
"EASTMAN KODAK COMPANY KODAK CX7530 ZOOM DIGITAL CAMERA" => 5.76, # 1/2.5"
|
||||
"EASTMAN KODAK COMPANY KODAK DX3900 ZOOM DIGITAL CAMERA" => 7.176, # 1/1.8"
|
||||
"EASTMAN KODAK COMPANY KODAK DX4900 ZOOM DIGITAL CAMERA" => 7.176, # 1/1.8"
|
||||
"EASTMAN KODAK COMPANY KODAK DX6340 ZOOM DIGITAL CAMERA" => 5.27, # 1/2.7"
|
||||
"EASTMAN KODAK COMPANY KODAK DX6490 ZOOM DIGITAL CAMERA" => 5.76, # 1/2.5"
|
||||
"EASTMAN KODAK COMPANY KODAK DX7630 ZOOM DIGITAL CAMERA" => 7.176, # 1/1.8"
|
||||
"EASTMAN KODAK COMPANY KODAK Z650 ZOOM DIGITAL CAMERA" => 5.76, # 1/2.5"
|
||||
"EASTMAN KODAK COMPANY KODAK Z700 ZOOM DIGITAL CAMERA" => 5.76, # 1/2.5"
|
||||
"EASTMAN KODAK COMPANY KODAK Z740 ZOOM DIGITAL CAMERA" => 5.76, # 1/2.5"
|
||||
"EASTMAN KODAK COMPANY KODAK Z740 ZOOM DIGITAL CAMERA" => 5.76, # 1/2.5" ?
|
||||
"FUJIFILM FinePix2600Zoom" => 5.27, # 1/2.7"
|
||||
"FUJIFILM FinePix40i" => 7.600, # 1/1.7"
|
||||
"FUJIFILM FinePix A310" => 5.27, # 1/2.7"
|
||||
"FUJIFILM FinePix A330" => 5.27, # 1/2.7"
|
||||
"FUJIFILM FinePix A600" => 7.600, # 1/1.7"
|
||||
"FUJIFILM FinePix E500" => 5.76, # 1/2.5"
|
||||
"FUJIFILM FinePix E510" => 5.76, # 1/2.5"
|
||||
"FUJIFILM FinePix E550" => 7.600, # 1/1.7"
|
||||
"FUJIFILM FinePix E900" => 7.78, # 1/1.6"
|
||||
"FUJIFILM FinePix F10" => 7.600, # 1/1.7"
|
||||
"FUJIFILM FinePix F30" => 7.600, # 1/1.7"
|
||||
"FUJIFILM FinePix F450" => 5.76, # 1/2.5"
|
||||
"FUJIFILM FinePix F601 ZOOM" => 7.600, # 1/1.7"
|
||||
"FUJIFILM FinePix S3Pro" => 23.0,
|
||||
"FUJIFILM FinePix S5000" => 5.27, # 1/2.7"
|
||||
"FUJIFILM FinePix S5200" => 5.76, # 1/2.5"
|
||||
"FUJIFILM FinePix S5500" => 5.27, # 1/2.7"
|
||||
"FUJIFILM FinePix S6500fd" => 7.600, # 1/1.7"
|
||||
"FUJIFILM FinePix S7000" => 7.600, # 1/1.7"
|
||||
"FUJIFILM FinePix Z2" => 5.76, # 1/2.5"
|
||||
"Hewlett-Packard hp 635 Digital Camera" => 4.54, # 1/3.2"
|
||||
"Hewlett-Packard hp PhotoSmart 43x series" => 5.27, # 1/2.7"
|
||||
"Hewlett-Packard HP PhotoSmart 618 (V1.1)" => 5.27, # 1/2.7"
|
||||
"Hewlett-Packard HP PhotoSmart C945 (V01.61)" => 7.176, # 1/1.8"
|
||||
"Hewlett-Packard HP PhotoSmart R707 (V01.00)" => 7.176, # 1/1.8"
|
||||
"KONICA MILOLTA DYNAX 5D" => 23.5,
|
||||
"Konica Minolta Camera, Inc. DiMAGE A2" => 8.80, # 2/3"
|
||||
"KONICA MINOLTA CAMERA, Inc. DiMAGE G400" => 5.76, # 1/2.5"
|
||||
"Konica Minolta Camera, Inc. DiMAGE Z2" => 5.76, # 1/2.5"
|
||||
"KONICA MINOLTA DiMAGE A200" => 8.80, # 2/3"
|
||||
"KONICA MINOLTA DiMAGE X1" => 7.176, # 1/1.8"
|
||||
"KONICA MINOLTA DYNAX 5D" => 23.5,
|
||||
"Minolta Co., Ltd. DiMAGE F100" => 7.176, # 1/2.7"
|
||||
"Minolta Co., Ltd. DiMAGE Xi" => 5.27, # 1/2.7"
|
||||
"Minolta Co., Ltd. DiMAGE Xt" => 5.27, # 1/2.7"
|
||||
"Minolta Co., Ltd. DiMAGE Z1" => 5.27, # 1/2.7"
|
||||
"NIKON COOLPIX L3" => 5.76, # 1/2.5"
|
||||
"NIKON COOLPIX P2" => 7.176, # 1/1.8"
|
||||
"NIKON COOLPIX S4" => 5.76, # 1/2.5"
|
||||
"NIKON COOLPIX S7c" => 5.76, # 1/2.5"
|
||||
"NIKON CORPORATION NIKON D100" => 23.7,
|
||||
"NIKON CORPORATION NIKON D1" => 23.7,
|
||||
"NIKON CORPORATION NIKON D1H" => 23.7,
|
||||
"NIKON CORPORATION NIKON D200" => 23.6,
|
||||
"NIKON CORPORATION NIKON D2H" => 23.3,
|
||||
"NIKON CORPORATION NIKON D2X" => 23.7,
|
||||
"NIKON CORPORATION NIKON D40" => 23.7,
|
||||
"NIKON CORPORATION NIKON D50" => 23.7,
|
||||
"NIKON CORPORATION NIKON D60" => 23.6,
|
||||
"NIKON CORPORATION NIKON D70" => 23.7,
|
||||
"NIKON CORPORATION NIKON D70s" => 23.7,
|
||||
"NIKON CORPORATION NIKON D80" => 23.6,
|
||||
"NIKON E2500" => 5.27, # 1/2.7"
|
||||
"NIKON E2500" => 5.27, # 1/2.7"
|
||||
"NIKON E3100" => 5.27, # 1/2.7"
|
||||
"NIKON E3200" => 5.27,
|
||||
"NIKON E3700" => 5.27, # 1/2.7"
|
||||
"NIKON E4200" => 7.176, # 1/1.8"
|
||||
"NIKON E4300" => 7.18,
|
||||
"NIKON E4500" => 7.176, # 1/1.8"
|
||||
"NIKON E4600" => 5.76, # 1/2.5"
|
||||
"NIKON E5000" => 8.80, # 2/3"
|
||||
"NIKON E5200" => 7.176, # 1/1.8"
|
||||
"NIKON E5400" => 7.176, # 1/1.8"
|
||||
"NIKON E5600" => 5.76, # 1/2.5"
|
||||
"NIKON E5700" => 8.80, # 2/3"
|
||||
"NIKON E5900" => 7.176, # 1/1.8"
|
||||
"NIKON E7600" => 7.176, # 1/1.8"
|
||||
"NIKON E775" => 5.27, # 1/2.7"
|
||||
"NIKON E7900" => 7.176, # 1/1.8"
|
||||
"NIKON E7900" => 7.176, # 1/1.8"
|
||||
"NIKON E8800" => 8.80, # 2/3"
|
||||
"NIKON E990" => 7.176, # 1/1.8"
|
||||
"NIKON E995" => 7.176, # 1/1.8"
|
||||
"NIKON S1" => 5.76, # 1/2.5"
|
||||
"Nokia N80" => 5.27, # 1/2.7"
|
||||
"Nokia N80" => 5.27, # 1/2.7"
|
||||
"Nokia N93" => 4.536, # 1/3.1"
|
||||
"Nokia N95" => 5.7, # 1/2.7"
|
||||
"OLYMPUS CORPORATION C-5000Z" => 7.176, # 1/1.8"
|
||||
"OLYMPUS CORPORATION C5060WZ" => 7.176, # 1/1.8"
|
||||
"OLYMPUS CORPORATION C750UZ" => 5.27, # 1/2.7"
|
||||
"OLYMPUS CORPORATION C765UZ" => 5.76, # 1//2.5"
|
||||
"OLYMPUS CORPORATION C8080WZ" => 8.80, # 2/3"
|
||||
"OLYMPUS CORPORATION X250,D560Z,C350Z" => 5.76, # 1/2.5"
|
||||
"OLYMPUS CORPORATION X-3,C-60Z" => 7.176, # 1.8"
|
||||
"OLYMPUS CORPORATION X400,D580Z,C460Z" => 5.27, # 1/2.7"
|
||||
"OLYMPUS IMAGING CORP. E-500" => 17.3, # 4/3?
|
||||
"OLYMPUS IMAGING CORP. FE115,X715" => 5.76, # 1/2.5"
|
||||
"OLYMPUS IMAGING CORP. SP310" => 7.176, # 1/1.8"
|
||||
"OLYMPUS IMAGING CORP. SP510UZ" => 5.75, # 1/2.5"
|
||||
"OLYMPUS IMAGING CORP. SP550UZ" => 5.76, # 1/2.5"
|
||||
"OLYMPUS IMAGING CORP. uD600,S600" => 5.75, # 1/2.5"
|
||||
"OLYMPUS_IMAGING_CORP. X450,D535Z,C370Z" => 5.27, # 1/2.7"
|
||||
"OLYMPUS IMAGING CORP. X550,D545Z,C480Z" => 5.76, # 1/2.5"
|
||||
"OLYMPUS OPTICAL CO.,LTD C2040Z" => 6.40, # 1/2"
|
||||
"OLYMPUS OPTICAL CO.,LTD C211Z" => 5.27, # 1/2.7"
|
||||
"OLYMPUS OPTICAL CO.,LTD C2Z,D520Z,C220Z" => 4.54, # 1/3.2"
|
||||
"OLYMPUS OPTICAL CO.,LTD C3000Z" => 7.176, # 1/1.8"
|
||||
"OLYMPUS OPTICAL CO.,LTD C300Z,D550Z" => 5.4,
|
||||
"OLYMPUS OPTICAL CO.,LTD C4100Z,C4000Z" => 7.176, # 1/1.8"
|
||||
"OLYMPUS OPTICAL CO.,LTD C750UZ" => 5.27, # 1/2.7"
|
||||
"OLYMPUS OPTICAL CO.,LTD X-2,C-50Z" => 7.176, # 1/1.8"
|
||||
"OLYMPUS SP550UZ" => 5.76, # 1/2.5"
|
||||
"OLYMPUS X100,D540Z,C310Z" => 5.27, # 1/2.7"
|
||||
"Panasonic DMC-FX01" => 5.76, # 1/2.5"
|
||||
"Panasonic DMC-FX07" => 5.75, # 1/2.5"
|
||||
"Panasonic DMC-FX9" => 5.76, # 1/2.5"
|
||||
"Panasonic DMC-FZ20" => 5.760, # 1/2.5"
|
||||
"Panasonic DMC-FZ2" => 4.54, # 1/3.2"
|
||||
"Panasonic DMC-FZ30" => 7.176, # 1/1.8"
|
||||
"Panasonic DMC-FZ50" => 7.176, # 1/1.8"
|
||||
"Panasonic DMC-FZ5" => 5.760, # 1/2.5"
|
||||
"Panasonic DMC-FZ7" => 5.76, # 1/2.5"
|
||||
"Panasonic DMC-LC1" => 8.80, # 2/3"
|
||||
"Panasonic DMC-LC33" => 5.760, # 1/2.5"
|
||||
"Panasonic DMC-LX1" => 8.50, # 1/6.5"
|
||||
"Panasonic DMC-LZ2" => 5.76, # 1/2.5"
|
||||
"Panasonic DMC-TZ1" => 5.75, # 1/2.5"
|
||||
"Panasonic DMC-TZ3" => 5.68, # 1/2.35"
|
||||
"PENTAX Corporation PENTAX *ist DL" => 23.5,
|
||||
"PENTAX Corporation PENTAX *ist DS2" => 23.5,
|
||||
"PENTAX Corporation PENTAX *ist DS" => 23.5,
|
||||
"PENTAX Corporation PENTAX K100D" => 23.5,
|
||||
"PENTAX Corporation PENTAX Optio 450" => 7.176, # 1/1.8"
|
||||
"PENTAX Corporation PENTAX Optio 550" => 7.176, # 1/1.8"
|
||||
"PENTAX Corporation PENTAX Optio E10" => 5.76, # 1/2.5"
|
||||
"PENTAX Corporation PENTAX Optio S40" => 5.76, # 1/2.5"
|
||||
"PENTAX Corporation PENTAX Optio S4" => 5.76, # 1/2.5"
|
||||
"PENTAX Corporation PENTAX Optio S50" => 5.76, # 1/2.5"
|
||||
"PENTAX Corporation PENTAX Optio S5i" => 5.76, # 1/2.5"
|
||||
"PENTAX Corporation PENTAX Optio S5z" => 5.76, # 1/2.5"
|
||||
"PENTAX Corporation PENTAX Optio SV" => 5.76, # 1/2.5"
|
||||
"PENTAX Corporation PENTAX Optio WP" => 5.75, # 1/2.5"
|
||||
"RICOH CaplioG3 modelM" => 5.27, # 1/2.7"
|
||||
"RICOH Caplio GX" => 7.176, # 1/1.8"
|
||||
"RICOH Caplio R30" => 5.75, # 1/2.5"
|
||||
"Samsung Digimax 301" => 5.27, # 1/2.7"
|
||||
"Samsung Techwin <Digimax i5, Samsung #1>" => 5.76, # 1/2.5"
|
||||
"SAMSUNG TECHWIN Pro 815" => 8.80, # 2/3"
|
||||
"SONY DSC-F828" => 8.80, # 2/3"
|
||||
"SONY DSC-N12" => 7.176, # 1/1.8"
|
||||
"SONY DSC-P100" => 7.176, # 1/1.8"
|
||||
"SONY DSC-P10" => 7.176, # 1/1.8"
|
||||
"SONY DSC-P12" => 7.176, # 1/1.8"
|
||||
"SONY DSC-P150" => 7.176, # 1/1.8"
|
||||
"SONY DSC-P200" => 7.176, # 1/1.8");
|
||||
"SONY DSC-P52" => 5.27, # 1/2.7"
|
||||
"SONY DSC-P72" => 5.27, # 1/2.7"
|
||||
"SONY DSC-P73" => 5.27,
|
||||
"SONY DSC-P8" => 5.27, # 1/2.7"
|
||||
"SONY DSC-R1" => 21.5,
|
||||
"SONY DSC-S40" => 5.27, # 1/2.7"
|
||||
"SONY DSC-S600" => 5.760, # 1/2.5"
|
||||
"SONY DSC-T9" => 7.18,
|
||||
"SONY DSC-V1" => 7.176, # 1/1.8"
|
||||
"SONY DSC-W1" => 7.176, # 1/1.8"
|
||||
"SONY DSC-W30" => 5.760, # 1/2.5"
|
||||
"SONY DSC-W50" => 5.75, # 1/2.5"
|
||||
"SONY DSC-W5" => 7.176, # 1/1.8"
|
||||
"SONY DSC-W7" => 7.176, # 1/1.8"
|
||||
"SONY DSC-W80" => 5.75, # 1/2.5"
|
||||
);
|
|
@ -0,0 +1,45 @@
|
|||
#!/usr/local/bin/perl
|
||||
|
||||
$filename = $ARGV[0];
|
||||
|
||||
open (DEST, ">$filename.key");
|
||||
open (SRC, "$filename.key.tmp");
|
||||
|
||||
$resolution_line = `jhead $filename.jpg | grep "Resolution"`;
|
||||
($res_x, $res_y) = $resolution_line =~ /: ([0-9]*) x ([0-9]*)/;
|
||||
|
||||
$linecount = 0;
|
||||
$linecount += tr/\n/\n/ while sysread(SRC, $_, 2 ** 16);
|
||||
|
||||
seek(SRC, 0, 0);
|
||||
|
||||
print DEST $linecount;
|
||||
print DEST " 128\n";
|
||||
|
||||
printf ("found %d features in %s.jpg\n\n", $linecount, $filename);
|
||||
|
||||
while ($record = <SRC>) {
|
||||
@parts = split(/ /, $record);
|
||||
|
||||
$counter = 0;
|
||||
|
||||
$parts[0] = $res_x-$parts[0];
|
||||
|
||||
foreach (@parts) {
|
||||
|
||||
if((($counter-4) % 20) == 0) {
|
||||
print DEST "\n ";
|
||||
} else {
|
||||
if($counter != 0){
|
||||
print DEST " ";
|
||||
}
|
||||
}
|
||||
|
||||
print DEST $_;
|
||||
|
||||
$counter++;
|
||||
}
|
||||
}
|
||||
|
||||
close(DEST);
|
||||
close(SRC);
|
48
install.sh
48
install.sh
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
script_dir=$(dirname $0)
|
||||
. $script_dir/defs.sh
|
||||
set -o nounset
|
||||
set -o errexit
|
||||
|
||||
echo
|
||||
echo " created by Daniel Schwarz/daniel.schwarz@topoi.org"
|
||||
|
@ -14,6 +14,47 @@ echo
|
|||
echo
|
||||
echo " - script started - `date`"
|
||||
|
||||
TOOLS_PATH=$PWD/$(dirname $0)
|
||||
|
||||
IMAGE_DIR="."
|
||||
|
||||
## paths for the tools
|
||||
TOOLS_BIN_PATH=$TOOLS_PATH/bin
|
||||
TOOLS_INC_PATH=$TOOLS_PATH/include
|
||||
TOOLS_LIB_PATH=$TOOLS_PATH/lib
|
||||
TOOLS_SRC_PATH=$TOOLS_PATH/src
|
||||
TOOLS_LOG_PATH=$TOOLS_PATH/logs
|
||||
|
||||
## loacal dest paths
|
||||
LIB_PATH="/usr/local/lib"
|
||||
INC_PATH="/usr/local/include"
|
||||
|
||||
## source paths
|
||||
BUNDLER_PATH="$TOOLS_SRC_PATH/bundler"
|
||||
CMVS_PATH="$TOOLS_SRC_PATH/cmvs"
|
||||
PMVS_PATH="$TOOLS_SRC_PATH/pmvs"
|
||||
GRACLUS_PATH="$TOOLS_SRC_PATH/graclus"
|
||||
CLAPACK_PATH="$TOOLS_SRC_PATH/clapack"
|
||||
OPENCV_PATH="$TOOLS_SRC_PATH/openCv"
|
||||
VLFEAT_PATH="$TOOLS_SRC_PATH/vlfeat"
|
||||
SIFT_PATH="$TOOLS_SRC_PATH/sift"
|
||||
PARALLEL_PATH="$TOOLS_SRC_PATH/parallel"
|
||||
PSR_PATH="$TOOLS_SRC_PATH/PoissonRecon"
|
||||
|
||||
## executables
|
||||
EXTRACT_FOCAL=$TOOLS_BIN_PATH/extract_focal.pl
|
||||
MATCHKEYS=$TOOLS_BIN_PATH/KeyMatchFull
|
||||
BUNDLER=$TOOLS_BIN_PATH/bundler
|
||||
BUNDLE2PVMS=$TOOLS_BIN_PATH/Bundle2PMVS
|
||||
CMVS=$TOOLS_BIN_PATH/cmvs
|
||||
PMVS=$TOOLS_BIN_PATH/pmvs2
|
||||
GENOPTION=$TOOLS_BIN_PATH/genOption
|
||||
SIFT=$TOOLS_BIN_PATH/sift
|
||||
VLSIFT=$TOOLS_BIN_PATH/vlsift
|
||||
PARALLEL=$TOOLS_BIN_PATH/parallel
|
||||
PSR=$TOOLS_BIN_PATH/PoissonRecon
|
||||
VLSIFT_TO_LOWESIFT=$TOOLS_BIN_PATH/convert_vlsift_to_lowesift.pl
|
||||
|
||||
ARCH=`uname -m`
|
||||
CORES=`ls -d /sys/devices/system/cpu/cpu[[:digit:]]* | wc -w`
|
||||
|
||||
|
@ -21,8 +62,7 @@ CORES=`ls -d /sys/devices/system/cpu/cpu[[:digit:]]* | wc -w`
|
|||
LC_ALL=C
|
||||
|
||||
## removing old stuff
|
||||
rm -irf `ls -1 | egrep -v '\.zip$|\.tgz$|\.bz2$|\.gz$|\.sh$|^bin$' | xargs`
|
||||
rm -irf `find bin | egrep -v '\.pl$|^bin$' | xargs`
|
||||
rm -irf `ls -1 | egrep -v '\.zip$|\.tgz$|\.bz2$|\.gz$|\.sh$|\.pl$' | xargs`
|
||||
#find . -maxdepth 0 \! -name \*.tgz \! -name \*.bz2 \! -name \*.gz \! -name \*.sh \! -name bin -delete
|
||||
#find bin \! -name \*.pl \! -name bin -delete
|
||||
|
||||
|
|
|
@ -0,0 +1,414 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
use File::Basename;
|
||||
use File::Copy;
|
||||
use Data::Dumper;
|
||||
use Time::localtime;
|
||||
use Switch;
|
||||
|
||||
## the defs
|
||||
|
||||
chomp($CURRENT_DIR = `pwd`);
|
||||
chomp($BIN_PATH_REL = $CURRENT_DIR."/".`dirname $0`);
|
||||
chomp($BIN_PATH = `readlink -f $BIN_PATH_REL`);
|
||||
chomp($OS = `uname -o`);
|
||||
chomp($CORES = `ls -d /sys/devices/system/cpu/cpu[[:digit:]]* | wc -w`);
|
||||
|
||||
require "$BIN_PATH/ccd_defs.pl";
|
||||
|
||||
$BIN_PATH = $BIN_PATH."/bin";
|
||||
|
||||
my %objectStats = {
|
||||
count => 0,
|
||||
good => 0,
|
||||
bad => 0,
|
||||
minWidth => 0,
|
||||
minHeight => 0,
|
||||
maxWidth => 0,
|
||||
maxHeight => 0
|
||||
};
|
||||
|
||||
my %jobOptions = {
|
||||
resizeTo => 0,
|
||||
srcDir => $CURRENT_DIR
|
||||
};
|
||||
|
||||
my %args = {};
|
||||
|
||||
my @resizeSizes = (orig, 2800, 2400, 2000, 1600, 1200, 1000, 800, 600);
|
||||
|
||||
$jobOptions{srcDir} = "$CURRENT_DIR";
|
||||
|
||||
|
||||
sub parseArgs {
|
||||
|
||||
## defaults
|
||||
$args{"--start-with"} = "resize";
|
||||
$args{"--end-with"} = "poission";
|
||||
|
||||
for($i = 0; $i < $#ARGV; $i++) {
|
||||
if($ARGV[$i] =~ /^--[^a-z\-]*/){
|
||||
if($ARGV[$i+1] =~ /^--[^a-z\-]*/){
|
||||
$args{"$ARGV[$i]"} = true;
|
||||
} else {
|
||||
if(($ARGV[$i] eq "--resize-to") && ($ARGV[$i+1] eq "orig" || $ARGV[$i+1] =~ /^[0-9]*$/)){
|
||||
$args{"--resize-to"} = $ARGV[$i+1];
|
||||
}
|
||||
|
||||
if(($ARGV[$i] eq "--start-with") && ($ARGV[$i+1] eq "resize" || $ARGV[$i+1] eq "getKeypoints" || $ARGV[$i+1] eq "match" || $ARGV[$i+1] eq "bundler" || $ARGV[$i+1] eq "cmvs" || $ARGV[$i+1] eq "pmvs" || $ARGV[$i+1] eq "poission")){
|
||||
$args{"--start-with"} = $ARGV[$i+1];
|
||||
}
|
||||
|
||||
if(($ARGV[$i] eq "--end-with") && ($ARGV[$i+1] eq "resize" || $ARGV[$i+1] eq "getKeypoints" || $ARGV[$i+1] eq "match" || $ARGV[$i+1] eq "bundler" || $ARGV[$i+1] eq "cmvs" || $ARGV[$i+1] eq "pmvs" || $ARGV[$i+1] eq "poission")){
|
||||
$args{"--end-with"} = $ARGV[$i+1];
|
||||
}
|
||||
|
||||
if(($ARGV[$i] eq "--run-only") && ($ARGV[$i+1] eq "resize" || $ARGV[$i+1] eq "getKeypoints" || $ARGV[$i+1] eq "match" || $ARGV[$i+1] eq "bundler" || $ARGV[$i+1] eq "cmvs" || $ARGV[$i+1] eq "pmvs" || $ARGV[$i+1] eq "poission")){
|
||||
$args{"--start-with"} = $ARGV[$i+1];
|
||||
$args{"--end-with"} = $ARGV[$i+1];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
print Dumper(\%args);
|
||||
}
|
||||
|
||||
sub prepareObjects {
|
||||
## get the source list
|
||||
@source_files = `ls -1 | egrep "\.[jJ]{1}[pP]{1}[eE]{0,1}[gG]{1}"`;
|
||||
|
||||
foreach $file (@source_files) {
|
||||
chomp($file);
|
||||
|
||||
chomp($file_make = `jhead $file | grep "Camera make"`);
|
||||
chomp($file_model = `jhead $file | grep "Camera model"`);
|
||||
chomp($file_focal = `jhead $file | grep "Focal length"`);
|
||||
chomp($file_ccd = `jhead $file | grep "CCD width"`);
|
||||
chomp($file_resolution = `jhead $file | grep "Resolution"`);
|
||||
|
||||
my %fileObject = {};
|
||||
|
||||
chomp(($fileObject{src}) = $file);
|
||||
chomp(($fileObject{base}) = $file);
|
||||
$fileObject{base} =~ s/\.[^\.]*$//;
|
||||
|
||||
chomp(($fileObject{make}) = $file_make =~ /: ([^\n\r]*)/);
|
||||
chomp(($fileObject{model}) = $file_model =~ /: ([^\n\r]*)/);
|
||||
|
||||
$fileObject{id} = $fileObject{make}." ".$fileObject{model};
|
||||
|
||||
($fileObject{width}, $fileObject{height}) = $file_resolution =~ /: ([0-9]*) x ([0-9]*)/;
|
||||
|
||||
($fileObject{focal}) = $file_focal =~ /:[\ ]*([0-9\.]*)mm/;
|
||||
($fileObject{ccd}) = $file_ccd =~ /:[\ ]*([0-9\.]*)mm/;
|
||||
|
||||
if(!$fileObject{ccd}){
|
||||
$fileObject{ccd} = $ccdWidths{$fileObject{id}};
|
||||
}
|
||||
|
||||
if($fileObject{ccd} && $fileObject{focal} && $fileObject{width} && $fileObject{height}){
|
||||
if($fileObject{width} > $fileObject{height}){
|
||||
$fileObject{focalpx} = $fileObject{width} * ($fileObject{focal} / $fileObject{ccd});
|
||||
} else {
|
||||
$fileObject{focalpx} = $fileObject{height} * ($fileObject{focal} / $fileObject{ccd});
|
||||
}
|
||||
|
||||
$fileObject{isOk} = true;
|
||||
$objectStats{good}++;
|
||||
} else {
|
||||
$fileObject{isOk} = false;
|
||||
$objectStats{bad}++;
|
||||
|
||||
print " no CCD width or focal length found for $fileObject{src} - ($fileObject{id})\n";
|
||||
}
|
||||
|
||||
$objectStats{count}++;
|
||||
|
||||
if($objectStats{minWidth} == 0) { $objectStats{minWidth} = $fileObject{width}; }
|
||||
if($objectStats{minHeight} == 0) { $objectStats{minHeight} = $fileObject{height}; }
|
||||
|
||||
$objectStats{minWidth} = $objectStats{minWidth} < $fileObject{width} ? $objectStats{minWidth} : $fileObject{width};
|
||||
$objectStats{minHeight} = $objectStats{minHeight} < $fileObject{height} ? $objectStats{minHeight} : $fileObject{height};
|
||||
$objectStats{maxWidth} = $objectStats{maxWidth} > $fileObject{width} ? $objectStats{maxWidth} : $fileObject{width};
|
||||
$objectStats{maxHeight} = $objectStats{maxHeight} > $fileObject{height} ? $objectStats{maxHeight} : $fileObject{height};
|
||||
|
||||
push(@objects, \%fileObject);
|
||||
}
|
||||
|
||||
print "\n found $objectStats{good} usable images";
|
||||
|
||||
if(!$args{"--resize-to"}){
|
||||
print "\n> please choose a max resolution to shrink the files to";
|
||||
print "\n current images width ".($objectStats{minWidth} == $objectStats{maxWidth} ? "$objectStats{maxWidth}px" : " $objectStats{minWidth}px - $objectStats{maxWidth}px");
|
||||
print "\n current images height ".($objectStats{minHeight} == $objectStats{maxHeight} ? "$objectStats{maxHeight}px" : "$objectStats{minHeight}px - $objectStats{maxHeight}px");
|
||||
print "\n";
|
||||
print "\n";
|
||||
print "\n [0] original resolution << default";
|
||||
print "\n [1] $resizeSizes[1] x $resizeSizes[1]px";
|
||||
print "\n [2] $resizeSizes[2] x $resizeSizes[2]px";
|
||||
print "\n [3] $resizeSizes[3] x $resizeSizes[3]px";
|
||||
print "\n [4] $resizeSizes[4] x $resizeSizes[4]px";
|
||||
print "\n [5] $resizeSizes[5] x $resizeSizes[5]px";
|
||||
print "\n [6] $resizeSizes[6] x $resizeSizes[6]px";
|
||||
print "\n [7] $resizeSizes[7] x $resizeSizes[7]px";
|
||||
print "\n [8] $resizeSizes[8] x $resizeSizes[8]px";
|
||||
print "\n";
|
||||
print "\n [0-9] > ";
|
||||
|
||||
chomp($resizeInput = <>);
|
||||
|
||||
if($resizeInput >= 0 && $resizeInput < 10){
|
||||
$jobOptions{resizeTo} = $resizeSizes[$resizeInput];
|
||||
} else {
|
||||
$jobOptions{resizeTo} = $resizeSizes[4];
|
||||
}
|
||||
} else {
|
||||
$jobOptions{resizeTo} = $args{"--resize-to"};
|
||||
}
|
||||
|
||||
if($args{"--verbose"}){
|
||||
print "\n using max image size of $jobOptions{resizeTo} x $jobOptions{resizeTo}";
|
||||
}
|
||||
|
||||
$jobOptions{jobDir} = "$jobOptions{srcDir}/reconstruction-with-image-size-$jobOptions{resizeTo}";
|
||||
|
||||
$jobOptions{step_1_convert} = "$jobOptions{jobDir}/_convert.templist.txt";
|
||||
$jobOptions{step_1_sift} = "$jobOptions{jobDir}/_sift.templist.txt";
|
||||
$jobOptions{step_1_gzip} = "$jobOptions{jobDir}/_gzip.templist.txt";
|
||||
|
||||
$jobOptions{step_2_filelist} = "$jobOptions{jobDir}/_filelist.templist.txt";
|
||||
$jobOptions{step_2_matches} = "$jobOptions{jobDir}/matches.init.txt";
|
||||
|
||||
$jobOptions{step_3_filelist} = "$jobOptions{jobDir}/list.txt";
|
||||
$jobOptions{step_3_bundlerOptions} = "$jobOptions{jobDir}/options.txt";
|
||||
|
||||
mkdir($jobOptions{jobDir});
|
||||
|
||||
foreach $fileObject (@objects) {
|
||||
if($fileObject->{isOk}){
|
||||
$fileObject->{step_0_resizedImage} = "$jobOptions{jobDir}/$fileObject->{base}.jpg";
|
||||
|
||||
$fileObject->{step_1_pgmFile} = "$jobOptions{jobDir}/$fileObject->{base}.pgm";
|
||||
$fileObject->{step_1_keyFile} = "$jobOptions{jobDir}/$fileObject->{base}.key";
|
||||
$fileObject->{step_1_gzFile} = "$jobOptions{jobDir}/$fileObject->{base}.key.gz";
|
||||
}
|
||||
}
|
||||
|
||||
# exit
|
||||
}
|
||||
|
||||
sub resize {
|
||||
print "\n";
|
||||
print "\n - preparing images - ";
|
||||
print "\n";
|
||||
|
||||
chdir($jobOptions{jobDir});
|
||||
|
||||
foreach $fileObject (@objects) {
|
||||
if($fileObject->{isOk}){
|
||||
if($jobOptions{resizeTo} != "orig" && ($fileObject->{widht} > $jobOptions{resizeTo} || $fileObject->{height} > $jobOptions{resizeTo})){
|
||||
if($args{"--verbose"}){
|
||||
print "\n resising $fileObject->{src} \tto $fileObject->{step_0_resizedImage}";
|
||||
}
|
||||
|
||||
system("convert -resize $jobOptions{resizeTo}x$jobOptions{resizeTo} -quality 100 \"$jobOptions{srcDir}/$fileObject->{src}\" \"$fileObject->{step_0_resizedImage}\"");
|
||||
} else {
|
||||
if($args{"--verbose"}) {
|
||||
print "\n copying $fileObject->{src} \tto $fileObject->{step_0_resizedImage}";
|
||||
}
|
||||
|
||||
copy("$CURRENT_DIR/$fileObject->{src}", "$fileObject->{step_0_resizedImage}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($args{"--end-with"} ne "resize"){
|
||||
getKeypoints();
|
||||
}
|
||||
}
|
||||
|
||||
sub getKeypoints {
|
||||
print "\n";
|
||||
print "\n - finding keypoints - ";
|
||||
print "\n";
|
||||
|
||||
chdir($jobOptions{jobDir});
|
||||
|
||||
$pgmJobs = "";
|
||||
$siftJobs = "";
|
||||
$gzJobs = "";
|
||||
|
||||
foreach $fileObject (@objects) {
|
||||
if($fileObject->{isOk}){
|
||||
$pgmJobs .= "convert -format pgm \"$fileObject->{step_0_resizedImage}\" \"$fileObject->{step_1_pgmFile}\"\n";
|
||||
$siftJobs .= "$BIN_PATH/sift < \"$fileObject->{step_1_pgmFile}\" > \"$fileObject->{step_1_keyFile}\"\n";
|
||||
$gzJobs .= "gzip -f \"$fileObject->{step_1_keyFile}\"\n";
|
||||
}
|
||||
}
|
||||
|
||||
system("echo \"$pgmJobs\" > $jobOptions{step_1_convert}");
|
||||
system("echo \"$siftJobs\" > $jobOptions{step_1_sift} ");
|
||||
system("echo \"$gzJobs\" > $jobOptions{step_1_gzip} ");
|
||||
|
||||
system("\"$BIN_PATH/parallel\" -j+0 < \"$jobOptions{step_1_convert}\" ");
|
||||
system("\"$BIN_PATH/parallel\" -j+0 < \"$jobOptions{step_1_sift}\" ");
|
||||
system("\"$BIN_PATH/parallel\" -j+0 < \"$jobOptions{step_1_gzip}\" ");
|
||||
|
||||
system("rm -f \"$jobOptions{jobDir}/\"*.pgm");
|
||||
|
||||
if($args{"--end-with"} ne "getKeypoints"){
|
||||
match();
|
||||
}
|
||||
}
|
||||
|
||||
sub match {
|
||||
print "\n";
|
||||
print "\n - matching keypoints - ";
|
||||
print "\n";
|
||||
|
||||
chdir($jobOptions{jobDir});
|
||||
|
||||
$filesList = "";
|
||||
|
||||
foreach $fileObject (@objects) {
|
||||
if($fileObject->{isOk}){
|
||||
if($fileObject->{isOk}){
|
||||
$filesList .= "\"$fileObject->{step_1_keyFile}\"\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
system("echo \"$filesList\" > $jobOptions{step_2_filelist} ");
|
||||
system("\"$BIN_PATH/KeyMatchFull\" \"$jobOptions{step_2_filelist}\" \"$jobOptions{step_2_matches}\" ");
|
||||
|
||||
if($args{"--end-with"} ne "match"){
|
||||
bundler();
|
||||
}
|
||||
}
|
||||
|
||||
sub bundler {
|
||||
print "\n";
|
||||
print "\n - running bundler - ";
|
||||
print "\n";
|
||||
|
||||
chdir($jobOptions{jobDir});
|
||||
|
||||
mkdir($jobOptions{jobDir}."/bundle");
|
||||
mkdir($jobOptions{jobDir}."/pmvs");
|
||||
mkdir($jobOptions{jobDir}."/pmvs/txt");
|
||||
mkdir($jobOptions{jobDir}."/pmvs/visualize");
|
||||
mkdir($jobOptions{jobDir}."/pmvs/models");
|
||||
|
||||
$filesList = "";
|
||||
|
||||
foreach $fileObject (@objects) {
|
||||
if($fileObject->{isOk}){
|
||||
if($fileObject->{isOk}){
|
||||
$filesList .= sprintf("\./%s.jpg 0 %0.5f\n", $fileObject->{base}, $fileObject->{focalpx});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
chomp($filesList);
|
||||
|
||||
$bundlerOptions = "--match_table matches.init.txt\n";
|
||||
$bundlerOptions .= "--output bundle.out\n";
|
||||
$bundlerOptions .= "--output_all bundle_\n";
|
||||
$bundlerOptions .= "--output_dir bundle\n";
|
||||
$bundlerOptions .= "--variable_focal_length\n";
|
||||
$bundlerOptions .= "--use_focal_estimate\n";
|
||||
$bundlerOptions .= "--constrain_focal\n";
|
||||
$bundlerOptions .= "--constrain_focal_weight 0.0001\n";
|
||||
$bundlerOptions .= "--estimate_distortion\n";
|
||||
$bundlerOptions .= "--run_bundle";
|
||||
|
||||
system("echo \"$bundlerOptions\" > \"$jobOptions{step_3_bundlerOptions}\"");
|
||||
system("echo \"$filesList\" > \"$jobOptions{step_3_filelist}\"");
|
||||
|
||||
system("\"$BIN_PATH/bundler\" \"$jobOptions{step_3_filelist}\" --options_file \"$jobOptions{step_3_bundlerOptions}\" > bundle/out");
|
||||
|
||||
system("\"$BIN_PATH/Bundle2PMVS\" \"$jobOptions{step_3_filelist}\" bundle/bundle.out");
|
||||
|
||||
system("\"$BIN_PATH/RadialUndistort\" \"$jobOptions{step_3_filelist}\" bundle/bundle.out pmvs");
|
||||
|
||||
$i = 0;
|
||||
|
||||
foreach $fileObject (@objects) {
|
||||
if($fileObject->{isOk}){
|
||||
if($fileObject->{isOk}){
|
||||
if (-e "pmvs/$fileObject->{base}.rd.jpg"){
|
||||
$nr = sprintf("%08d", $i++);
|
||||
|
||||
system("mv pmvs/$fileObject->{base}.rd.jpg pmvs/visualize/$nr.jpg");
|
||||
system("mv pmvs/$nr.txt pmvs/txt/$nr.txt");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
system("\"$BIN_PATH/Bundle2Vis\" pmvs/bundle.rd.out pmvs/vis.dat");
|
||||
|
||||
if($args{"--end-with"} ne "bundler"){
|
||||
cmvs();
|
||||
}
|
||||
}
|
||||
|
||||
sub cmvs {
|
||||
print "\n";
|
||||
print "\n - running cmvs - ";
|
||||
print "\n";
|
||||
|
||||
chdir($jobOptions{jobDir});
|
||||
|
||||
system("\"$BIN_PATH/cmvs\" pmvs/ 100 4");
|
||||
system("\"$BIN_PATH/genOption\" pmvs/ ");
|
||||
|
||||
if($args{"--end-with"} ne "cmvs"){
|
||||
pmvs();
|
||||
}
|
||||
}
|
||||
|
||||
sub pmvs {
|
||||
print "\n";
|
||||
print "\n - running pmvs - ";
|
||||
print "\n";
|
||||
|
||||
chdir($jobOptions{jobDir});
|
||||
|
||||
system("\"$BIN_PATH/pmvs2\" pmvs/ option-0000");
|
||||
|
||||
if($args{"--end-with"} ne "pmvs"){
|
||||
poission();
|
||||
}
|
||||
}
|
||||
|
||||
sub poission {
|
||||
print "\n";
|
||||
print "\n - running poission reconstruction - ";
|
||||
print "\n";
|
||||
|
||||
foreach $fileObject (@objects) {
|
||||
if($fileObject->{isOk}){
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
parseArgs();
|
||||
prepareObjects();
|
||||
|
||||
chdir($jobOptions{jobDir});
|
||||
|
||||
switch ($args{"--start-with"}) {
|
||||
case "resize" { resize(); }
|
||||
case "getKeypoints" { getKeypoints(); }
|
||||
case "match" { match(); }
|
||||
case "bundler" { bundler(); }
|
||||
case "cmvs" { cmvs(); }
|
||||
case "pmvs" { pmvs(); }
|
||||
}
|
||||
|
||||
print "\n";
|
||||
print "\n - done - ";
|
||||
print "\n";
|
Ładowanie…
Reference in New Issue