Home

Search John Harvey Photo for...
Contains Text:
Include Photo Descriptions
Include Story Pages
Include Comments
Include Scientific Names
Camera equals
Lens equals
Date is greater than or equal (Year/Month/Day)
Date is less than or equal (Year/Month/Day)
Film equals
Photographer equals
Photo Subject equals
Tag equals
PhotoOfTheDay is greater than or equal (Year/Month/Day)
PhotoOfTheDay is less than or equal (Year/Month/Day)
Gender equals
Plumage equals
Age equals
Region equals
Panoramas | Images Most Recently Modified | Images with comments | Photos over time of | Species | Parks | Videos
Photo Search Returned 1 to 20 of 174
Restrict search - sunset AND: beach 26 time lapse 26 Vancouver 16 silhouette 15 orange sky 13 boat 9
New search - Related Tags: beach 360 Vancouver 263 boat 146 time lapse 64 silhouette 28 orange sky 17

Sunset From 733 Seymour
This is 740 frames. Started at 4:17pm at f8, 1/250th of a second. Ended at 5:56pm, at f8, 6 seconds per exposure, ISO 180. The interval was 8 seconds.
I brought my big tripod to get over the glass wall. The lens was set to 28mm.
John Harvey Photo > Sunset From 733 Seymour

First Night
This was taken at 20mm. I started at 7:14:57 and took a photo every 8 seconds until 10:07:27pm (1296 images). The camera started at f8, 1/500th, ISO 100 and ended at f8, 5 seconds at ISO 3200.

Nara and I go out Kayaking and come back in this sequence.
John Harvey Photo > First Night

Sunset With Layers Of Cloud
I started at 7:49:55pm and took a photo every 8 seconds until 9:50:59pm (909 images). I started at f8, 1/640, ISO 100 and ended at f8, 6 seconds, ISO 720. The lens was set at 24mm.
John Harvey Photo > Sunset With Layers Of Cloud

Sunset Light
We are in bay on the North side of Murchison Island. Hot springs Island is just around the corner from here and these rocks in front of us have strong currents which leads to rich intertidal life.
Tags: sunset

John Harvey Photo > John's Overnight Page > Haida Gwaii > Hot Spring Island > Sunset Light

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

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
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 ):
            continue
    
        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_2[val.trainIdx].pt[0]-keypoints_1[val.queryIdx].pt[0]),
                -(keypoints_2[val.trainIdx].pt[1]-keypoints_1[val.queryIdx].pt[1]),
                keypoints_1[val.queryIdx].pt[0], keypoints_1[val.queryIdx].pt[1], 
                48,
                (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


f.close()


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

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

Iona Spit At Sunset
The sun had actually set at this point. This is a 3 frame HDR image.
John Harvey Photo > Blogs for 2023 to 2005 > June 2016 > Iona Spit At Sunset

Vibrant Sunset
The most vibrant sunsets seem to happen just after the sun goes over the horizon.
John Harvey Photo > Photos of Vancouver > View of Vancouver From My Apartment > Vibrant Sunset

Stormy Sunset
Stormy Sunset
John Harvey Photo > Photos of Vancouver > View of Vancouver From My Apartment > Stormy Sunset

At The Beach At Sunset
I think Nara took this but I can't be sure - I also took a few images of the same subject. It was really quite windy. The 4:3 aspect ratio is quite a throw back - I haven't seen that in a while.
John Harvey Photo > Blogs for 2023 to 2005 > December 2015 > At The Beach At Sunset

Kids With Glowing Tree
Kids With Glowing Tree
People: Claira, Nara

John Harvey Photo > Blogs for 2023 to 2005 > November 2020 > Kids With Glowing Tree

Sunset Construction
Sunset Construction
John Harvey Photo > Blogs for 2023 to 2005 > November 2020 > Sunset Construction

Three Cruise Ships Behind Breakwater
In Vancouver, these ships would have already left. Apparently cruise ships in Victoria leave after 9pm.
Tags: sunset

John Harvey Photo > Blogs for 2023 to 2005 > August 2022 > Three Cruise Ships Behind Breakwater

Neon Wet Streets And Sunset Skies
In Vancouver you often get wet streets drenched with light. There are too many people walking around in Hong Kong to make that effective.
John Harvey Photo > Trips out of the Country > Hong Kong 8 > Neon Wet Streets And Sunset Skies

Crowd Waiting For Sunset
I was impressed how many people came out to watch the sunset. For a gentlemen on a beach chair behind me, watching sunset was almost a religious experience.
John Harvey Photo > Blogs for 2023 to 2005 > Maui > Haleakala > Crowd Waiting For Sunset

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...