2015-04-11 23:52:45 +02:00
public class DepthMapNeedle
{
public static void main ( String [ ] args )
{
if ( args . length = = 0 | | args [ 0 ] . equals ( " -h " ) ) help ( ) ;
if ( args . length > = 2 & & args [ 0 ] . equals ( " -e " ) )
{
for ( int i = 1 ; i < args . length ; i + + )
{
JPEG image = new JPEG ( args [ i ] ) ;
2015-04-12 00:28:15 +02:00
if ( image . exportDepthMap ( ) ) System . out . println ( " Depthmap extracted for file " + args [ i ] + " . " ) ;
else System . err . println ( " There is no Depthmap in file " + args [ i ] ) ;
2015-04-11 23:52:45 +02:00
}
}
else if ( args . length > = 2 & & args [ 0 ] . equals ( " -s " ) )
{
for ( int i = 1 ; i < args . length ; i + + )
{
JPEG image = new JPEG ( args [ i ] ) ;
2015-04-12 00:28:15 +02:00
if ( image . exportSourceImage ( ) ) System . out . println ( " Unblurred source image extracted for file " + args [ i ] + " . " ) ;
else System . err . println ( " There is no unblurred source image in file " + args [ i ] + " . Maybe this photo has not been taken with the blur function? " ) ;
2015-04-11 23:52:45 +02:00
}
}
else if ( args . length > = 3 & & args [ 0 ] . equals ( " -i " ) )
{
String depthmap = args [ 1 ] ;
for ( int i = 2 ; i < args . length ; i + + )
{
JPEG image = new JPEG ( args [ i ] ) ;
2015-04-12 00:28:15 +02:00
if ( image . injectDepthMap ( depthmap ) ) System . out . println ( " Depthmap injected into file " + args [ i ] + " . " ) ;
else System . err . println ( " Something went wrong while injecting " + depthmap + " into " + args [ i ] + " . \ nRemember: The first argument has to be a png and the following arguments must be jpgs shot with the blur function. " ) ;
2015-04-11 23:52:45 +02:00
image . save ( ) ;
}
}
}
public static void help ( )
{
System . out . println ( " Welcome to DepthMapNeedle! "
+ " \ nDepthMapNeedle is a tool to inject or extract depth information in form of depthmaps from photos shot using Google Cameras Blur function. "
+ " \ n "
+ " \ nAvailable Options: "
+ " \ n'-e <file1>.jpg ... <fileN>.jpg': "
+ " \ n Extract the depthmap from the specified photo(s). The depthmaps will be stored with the suffix \" _d.png \" . "
+ " \ n'-s <file1>.jpg ... <fileN>.jpg': "
+ " \ n Extract the unblurred source image from the photo(s). These files will be stored with the suffix \" _s.jpg \" . "
+ " \ n'-i <depthmap>.png <file1>.jpg <fileN>.jpg': "
+ " \ n Inject a png file as Depthmap into the following specified jpg files. "
+ " \ n'-h': "
+ " \ n Show this help text. " ) ;
}
}