93Views6Replies

Author Options:

How to choose 1 out of 14 or so images for 4000 burst shots? Answered

Oops- tried to take a time lapse but the shutter was set on burst (40fps), so every time it took a picture it took about 14 pics in bursts.... The camera took around 3000 or so shots on this burst setting, how can I take out a picture every 14 pics or the shots automatically? Is there any 
"picker" software, mac or pc, that will take 1 out of 14 images repeatedly automatically????
thanks for helping me fix my dumb mistakes- again ;-)

-A907

Discussions

None
The Skinnerz

Best Answer 7 years ago

Put the files all in one folder, set the view to small icons, then adjust the width of the window so there are 14 files in each row, then all you have to do is select one columb, copy and paste.

None
astroboy907The Skinnerz

Answer 7 years ago

will try :) got 50 files of 1000 images each to unzip into one file first though

None
kelseymh

7 years ago

Except that most digital cameras use DOS-style filenames, with a single numerical field. My Canon, for example, uses IMG_nnnn.JPG. So I could have used a sed pipe to capture the numerical part of each filename, and done a modulo-14 calc (num % 14) to choose the right targets. But that seems too much of a special-case for my taste.

None
astroboy907

7 years ago

great idea, but im not exactly a code guru.... what would I *try* to write it in(I have xcode installed but have used it little)

None
kelseymhastroboy907

Answer 7 years ago

You're on a Mac, then? It's easy! You could write a simple shell script (what I would do), or you could hone your code guru skills and write it in Perl.

Here's a really crappy script (Sean, do not give me grief about using CSH!) that would get the job done. Copy the script below to a file called "oneIn14". At the Terminal prompt, type chmod +x oneIn14 to make it executable. Run it from the prompt, specifying the input and output directories you want to use.


#!/bin/csh -f
#
# Usage: oneIn14
#
# Selects one out of 14 JPG files from the first directory, and copies
# them to the second. If the second directory doesn't exist, creates
# it.
#
# 20111025 Michael Kelsey -- written without testing or debugging.

# Get command line arguments
if ($#argv < 2) then
echo "Usage: oneIn14 "
exit 1
endif

# Get directories and validate
set indir = "$1"
if (! -d $indir) then
echo "Input directory $indir not found."
exit 2
endif

set outdir = "$2"
if (! -d $outdir) mkdir -p $outdir

# Get list of image files (assume .jpg or .JPG suffix) to filter
set imglist = /tmp/`basename $0`.$$
ls -1 $indir/*.jpg $indir/*.JPG >! $imglist

# Loop over files, and copy every 14th one to output
@ skip =14
@ n = `cat $imglist|wc -l`
@ i = 1
while ($i <= $n)
set img = `head -$i $imglist | tail -1`
/bin/cp -f $img $outdir/
@ i = $i + $skip
end

# Clean up
/bin/rm -rf $imglist

None
astroboy907kelseymh

Answer 7 years ago

thanks so much for your help, but I am going to have to go with The Skinnerz... its a really simple solution but it works mostly :) its a bit choppy when I tried it, but not bad enough to not work... thanks so much for your help though!!

None
kelseymhastroboy907

Answer 7 years ago

:-D If you only need to do this once, then The Skinnerz's method is definitely the easiest!

None
kelseymh

7 years ago

If they are all in one directory, you could trivially write a script to do it for you. Loop through with a counter, each time i%14 == 0, copy or move that file to another directory.