Tietokoneella (tahi tabletti/älypuhelin) & zoomaavalla (video)kameralla voisi ohjelmallisesti havaita kameratolpan tahi kolmijalalla olevan siirrettävän nopeuskameran sekä sopivissa sääolosuhteissa myös tolpassa olevan kameran jo aika pitkän matkan päästä. OpenCV kirjasto höystettynä Numpy ja Matplotlib kirjastoilla (kaikki ilmaisia kirjastoja) mahdollistaa ko. operaation. Tässä alustavaa Python koodia/tutkailua aiheesta.

Ääriviivakuvan voi toteuttaa esim. Image thresholding kuvankäsittelytoiminnoilla.

import numpy as np
import cv2
from matplotlib import pyplot as plt

img = cv2.imread('kt.jpg', 0)
img = cv2.medianBlur(img,5)

th2 = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_MEAN_C,\
            cv2.THRESH_BINARY,11,2)
th3 = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,\
            cv2.THRESH_BINARY,11,2)

titles = ['Original Image', 'Adaptive Mean Thresholding', 'Adaptive Gaussian Thresholding']
images = [img, th2, th3]

for i in xrange(3):
    plt.subplot(1,3,i+1),plt.imshow(images[i],'gray')
    plt.title(titles[i])
    plt.xticks([]),plt.yticks([])
plt.show()

Kuva otettu IR suotimella. Tolpassa kamera.
irkuvax1.jpg

Operaatio videokuvalle

import numpy as np
import cv2
from matplotlib import pyplot as plt

cap = cv2.VideoCapture(0)

while(True):
    ret, frame = cap.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    median = cv2.medianBlur(gray, 5)

    ath = cv2.adaptiveThreshold(median, 255, cv2.ADAPTIVE_THRESH_MEAN_C,\ cv2.THRESH_BINARY, 11, 2)

    cv2.imshow('cam', ath)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
    
cap.release()
cv2.destroyAllWindows()