Search John Harvey Photo for...
Advanced Search...
Photo Search Returned 1 to 20 of 59
Restrict search - time lapse AND: sunset 23 Vancouver 17 night 9 astrophotography 8 fire 7 sunrise 6
New search - Related Tags: Vancouver 254 night 184 sunset 171 fire 103 sunrise 31 astrophotography 26

Stonecutters Bridge
This timelapse had 636 fames, starting at 6:07 pm and ending at 7:31pm. The interval was 8 seconds. Photography started at f8, 1/40th of a second at ISO 100 and ended at f8, 4 seconds, ISO 320.
John Harvey Photo > Trips out of the Country > Hong Kong 14 > Stonecutters Bridge

Prince Edward Overpass
This was shot at f11 / 1 second per exposure. There are 545 exposures with a 3 second interval. The lens was set to 70mm.
John Harvey Photo > Trips out of the Country > Hong Kong 14 > Prince Edward Overpass

Nathan Road
This was started at f14, 1 second exposure and stayed the same for the whole video. The interval was 3 seconds and there are 451 exposures in this video.
John Harvey Photo > Trips out of the Country > Hong Kong 14 > Nathan Road

The time lapse started at 5:50pm at f8, 1/640th of a second ISO 100 and ended at 8:13pm at f8, 4 seconds per exposure at ISO 110. The interval was six seconds and there are 1436 images. This was shot at 14mm (as wide as it goes).
John Harvey Photo > Trips out of the Country > Hong Kong 14 > Central

Fa Yuen Street
It's raining just a little bit. These are minibuses - they open up lots of smaller destinations in Hong Kong. The goal was the Neon, but the traffic somewhat stole the show.
John Harvey Photo > Trips out of the Country > Hong Kong 13 > Fa Yuen Street

Sunset Ferry Trip Stabilized
I've been trying to do this for a while - take a timelapse from the front of a ferry near sunset. While I shoot on a tripod, the resulting sequence still needs a lot of stabilization because we are on a boat!

This sequence started at 5:00pm and ended 2076 frames later at 6:43pm. Exposure went from f6.3 at 1/125th of a second to f6.3 at 1/2 of a second. The interval is 3 seconds because I learned from an earlier trip you need more intermediate frames if you want any chance to align between frames.

The script to stabilize is in python and uses OpenCV and the SIFT algorithm to do the image alignment. I use a variety of alignment masks through the sequence so I can exclude things like the clouds and ocean but also other ships moving side to side. This script writes a transforms.trf that ffmpeg can use for stabilization.

Back in Decemeber 2021, I took a ferry trip but hadn't yet figured out how to stabilize it.

import cv2 
import numpy as np
import matplotlib.pyplot as plt
import pprint
import math

f = open("transforms.trf", "w")
f.write("VID.STAB 1
f.write("#      accuracy = 15
f.write("#     shakiness = 3
f.write("#      stepsize = 4
f.write("#   mincontrast = 0.200000
f.write("Frame 1 (List 0 [])

img1 = cv2.imread('DSC_4877_FerryHg.jpg')  
mask = cv2.imread('mask2.png', cv2.IMREAD_GRAYSCALE)
Mask_5182 = cv2.imread('Mask_5182.png', cv2.IMREAD_GRAYSCALE)
mask_5725 = cv2.imread('mask_5725.png', cv2.IMREAD_GRAYSCALE)
mask_5885 = cv2.imread('mask_5885.png', cv2.IMREAD_GRAYSCALE)
mask_6670 = cv2.imread('mask_6670.png', cv2.IMREAD_GRAYSCALE)

currentMask = mask

img1 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)

sift = cv2.SIFT_create()

keypoints_1, descriptors_1 = sift.detectAndCompute(img1,mask)

for n in range(2,2064):
    print("Frame " + str(n))
    img2 = cv2.imread("DSC_{:04d}_FerryHg.jpg".format(4876 + n)) 
    img2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)

    if ( (4876 + n) == 5182 ):
        currentMask = Mask_5182

    if ( (4876 + n) == 5725 ):
        currentMask = mask_5725
    if ( (4876 + n) == 5885 ):
        currentMask = mask_5885

    if ( (4876 + n) == 6670 ):
        currentMask = mask_6670

    keypoints_2, descriptors_2 = sift.detectAndCompute(img2,currentMask)

    #feature matching
    bf = cv2.BFMatcher(cv2.NORM_L1, crossCheck=True)

    matches = bf.match(descriptors_1,descriptors_2)
    matches = sorted(matches, key = lambda x:x.distance)

    countPositions = 0
    listOfPoints = ""
    for idx, val in enumerate(matches):
        distance = math.sqrt( (keypoints_2[val.trainIdx].pt[0]-keypoints_1[val.queryIdx].pt[0]) *
                         (keypoints_2[val.trainIdx].pt[0]-keypoints_1[val.queryIdx].pt[0]) + 
                        ( keypoints_2[val.trainIdx].pt[1]-keypoints_1[val.queryIdx].pt[1]) *
                         (keypoints_2[val.trainIdx].pt[1]-keypoints_1[val.queryIdx].pt[1] ) )

        if ( val.distance > 299 and idx > 10 ):
        print("    " + str(idx) + " " + str(distance) + " " + str(val.distance) +" (" +
                 str(keypoints_1[val.queryIdx].pt[0]) + "," + str(keypoints_1[val.queryIdx].pt[1]) +
                 ") -> (" + str(keypoints_2[val.trainIdx].pt[0]) + "," +
                 str(keypoints_2[val.trainIdx].pt[1]) + ")" )
        if( countPositions > 0 ):
            listOfPoints = listOfPoints + ","

        # https://github.com/georgmartius/vid.stab/blob/master/src/serialize.c
        #   if(fscanf(f,"(LM %hi %hi %hi %hi %hi %lf %lf", &lm.v.x,&lm.v.y,&lm.f.x,&lm.f.y,&lm.f.size,
        #    &lm.contrast, &lm.match) != 7) {
        # LM = Local Motion
        # Sample: (LM 0 0 922 424 224 0.507735 0.263512)

        listOfPoints = listOfPoints + "(LM {:0.0f} {:0.0f} {:0.0f} {:0.0f} {:0.0f} {:5.3f} {:5.3f})".format(
                keypoints_1[val.queryIdx].pt[0], keypoints_1[val.queryIdx].pt[1], 
                (300.0 - val.distance) / 300.0 , 0.6 - (300.0 - val.distance) / 1000.0)
        countPositions = countPositions + 1

    f.write("Frame {:d} (List {:d} [{}])".format(n,countPositions,listOfPoints))
    img1 = img2
    keypoints_1 = keypoints_2
    descriptors_1 = descriptors_2


John Harvey Photo > Blogs for 2023 to 2005 > February 2023 > Sunset Ferry Trip Stabilized

Ferry To Victoria
I had a tripod, my camera bag and a whole ferry ride to wait so why not try a time lapse off the front of the ferry?

A lot of things went wrong or were hard. The sun was in the image for most of the sailing which makes the exposure a pain. The ferry is vibrating I never got a sharp image out of the sequence. Shutter speed was between 1/125 and 1/640th so I think it was the VR elements in the lens that were shaking.

The ferry is not a stable platform but the bright moving water was very attractive to the ffmpeg image stabilization. I was un-unable to stabilize past the opening sequence.

This is 962 images, all shot at f8 with an interval of 6 seconds. I started taking photos at 2:00:37pm and finished at 3:36:43pm. Sunset was probably 4:15.

To demonstrate I can learn, here is a similar ferry trip with Image stabilization working.
John Harvey Photo > Blogs for 2023 to 2005 > December 2021 > Ferry To Victoria

Planting Apple Trees
My dad has wanted apple trees for a long time. He wanted a McIntosh style apple but you won't get fruit if you just plant a single tree so we paired it with a Victory apple tree. We purchased the trees as "bare root stock" from a nursery near Duncan and needed to dig some holes in the back yard to plant the trees
This is 695 frames, taken every 8 seconds from 2:38pm to 4:25pm. Exposure was f7.1 at 1/125 of a second.
People: Claira, John, Lloyd

John Harvey Photo > Blogs for 2023 to 2005 > February 2023 > Planting Apple Trees

Foggy Downtown Sunset
This is 656 frames from 4:01pm until 5:50pm. Exposure at the start was f8 at 1/50th of a second, at end was f8, 4 seconds. The photos are take every 10 second. No stabilization as the camera was on a tripod on solid ground (just outside of the Granville Island Public Market).

This is one of the easiest timelapses ever - the exposure is almost linear (the camera made the correct and consistent guesses) and no stabilization required.

Fog downtown is pretty rare - it usually happens when we transition from wet weather to cold weather in winter.
John Harvey Photo > Blogs for 2023 to 2005 > January 2022 > Foggy Downtown Sunset

Port From Canada Place
663 photos, starting at 6:10, ending at 8:38. 8 seconds between exposures.
John Harvey Photo > Blogs for 2023 to 2005 > April 2022 > Port From Canada Place

Argyle Overpass
Argyle Overpass
John Harvey Photo > Trips out of the Country > Hong Kong 13 > Argyle Overpass

How To Make Campfire
594 frames, shot f10 1/40th of a second at iso 800 for the whole thing. The photos are taken every 2 seconds so this timelapse runs from 5:47pm to 6:06pm.
People: Claira, Helen, John, Nara

John Harvey Photo > John's Overnight Page > Prince Rupert Road Trip > Prince Rupert > How To Make Campfire

Siwash Rock Making Star Trails
This is a 100 image, 30 seconds an image time lapse. I was planning on stacking them and lightening them to get star trails but the clouds flying by made that much harder than I anticipated.

This is a 15 frames per second video.

John Harvey Photo > Blogs for 2023 to 2005 > December 2015 > Siwash Rock Making Star Trails

Porteau Cove Facing North
The flow is from Squamish. There is one asteroid streak in this movie.
John Harvey Photo > Blogs for 2023 to 2005 > December 2015 > Porteau Cove Facing North

Porteau Cove Facing South
Porteau Cove Facing South
John Harvey Photo > Blogs for 2023 to 2005 > December 2015 > Porteau Cove Facing South

Waiting For The Northern Lights
The dust spots on the sensor are kind of painful.
John Harvey Photo > Blogs for 2023 to 2005 > September 2014 > Waiting For The Northern Lights

Clouds Rolling Over Downtown From Cypress
This is 215 images at 10 seconds each - roughly 35 minutes elapsed. I had to stop because the exposure what out of range - I could no longer take 10 seconds exposures.

The exposure was shot auto and then corrected in post which wasn't easy. There is some motion in the tripod - I think got warmer or I touched it a bit. I corrected the motion in post. I have blended the images to make this a 45fps video and to try and remove some of the residual brightness flickering.

John Harvey Photo > Blogs for 2023 to 2005 > January 2016 > Clouds Rolling Over Downtown From Cypress

Mount Baker Sunset From Lions Gate
I started taking photos at 7:52pm at f8, 1/400th of a second, ISO 100. I took 1188 photos until 10:30pm at f8, 6 seconds exposures, ISO 450. The exposure interval was every 8 seconds, ISO is in auto so when the camera hits the exposure limit (I limited it to 6 seconds), ISO goes up.

The lens was set to 44mm.
John Harvey Photo > Blogs for 2023 to 2005 > May 2021 > Mount Baker Sunset From Lions Gate

Freighters Under Lionsgate At Sunset
This video took a look of work to get. I tried shooting this once before but the clouds were too heavy which lead to a very blah sunset and I misconfigured the camera (ISO was not in automatic) which lead to a variable interval (the clouds speed up).
This sequence is 1064 frames, taken every 8 seconds. I started at 7:51pm at f6.3, 1/3200 (-2 exposure compensation) and ended at 10:13pm at f4.5, 6 second exposures). It was shot in aperture priority mode.
I was standing on the lions gate bridge which introduces some challenges. First - the bridge has lights and you can see them start to dominate the park lighting in the last 1/3rd of the video. The much bigger problem is that the bridge moves a LOT. The frames have both a vertical translation and rotation element. I used ffmpeg to reduce the motion, but because this image is dominated by the clouds and boats I had to mask out (using a blur) much of the image so that the video stability detect code could find the motion. The code was:
# Gather the source images into a movie:
ffmpeg -framerate 30 -pattern_type glob -i 'DSC_*.jpg' -c:v libx264 LionsgateFreightersHg.mp4

# blur out most of the movie except the cliffs on the left and the mountains on the right
/usr/local/bin/ffmpeg -i LionsgateFreightersHg.mp4 -filter_complex "[0:v]boxblur=50[bg];[0:v]crop=w=1078:h=987:x=0:y=1038[fg];[bg][fg]overlay=0:1038[c];[0:v]crop=w=1125:h=516:x=2114:y=776[fg];[c][fg]overlay=2114:776" -map 0:v blurredVideo.mp4

# Use the blurred video to generate the transform estimates. Because of the minimum constrast requirements, the stability detect can't detect the clouds. ocean or boats.
/usr/local/bin/ffmpeg -i blurredVideo.mp4 -vf vidstabdetect=stepsize=16:shakiness=4:accuracy=15:mincontrast=0.4:show=1 cropVectors.mp4 -f null -

# Use the transform vectors to make the final video.
/usr/local/bin/ffmpeg -i LionsgateFreightersHg.mp4 -vf "vidstabtransform=input=transforms.trf" -crf 20 LionsgateFreightersStabilized.mp4

There are a few large ships in this timelapse. The first is the Bulk Carrier Kinoura followed by the Island Trader Tank Barge and finally the Bulk Carrier Sunny Hope. There are at least a dozen smaller ships including a police boat.
John Harvey Photo > Blogs for 2023 to 2005 > May 2021 > Freighters Under Lionsgate At Sunset

Moonrise On Sunshine Coast
675 images, taken 10 seconds apart. First photo was 6:59pm, Last photo was at 8:51pm. This sequence had a LOT of problems with flickering. I used LRTimelapse to clean up the exposure and then used the three frame blend trick and I still had flickering.
John Harvey Photo > John's Overnight Page > Sunshine Coast 2 > Moonrise On Sunshine Coast

More Photo Results...