Raspberry Pi (säkerhet) långsam Skanna TV-kamera (7 / 9 steg)
Steg 7: Att fånga rörelsen
Nu kan vi ta en bild och skicka det ordentligt med PiFm. Nu måste vi fokusera på utlöser Bildinsamling när något intressant händer framför kameran. Jag har genomfört detta i python, med hjälp av PIL. Koden kan hittas i sstvcatch.py. Det fungerar ganska rakt fram, den jämför bara pixlar i den föregående bilden med den aktuella bilden. När skillnaden är för stor, överförs den aktuella bilden. Här är ett kodstycke:
# ögla för evigt fördriva tiden (sant):
# hastigt jämförelse bild
imgnew, bufnew = captureImage()
# Greven ändrade pixel
changedPixels = 0
x i xrange (0, 320):
för y i xrange (0, 256):
# Bara kolla röda kanalen som det är dominerande för PiCam NoIR
pixdiff = abs (buf [x, y] [0] - bufnew[x,y][0])
om pixdiff > tröskelvärde:
changedPixels + = 1
# Överföra en bild om pixlar ändras
om changedPixels > känslighet:
# Byta jämförelse buffertar
IMG = imgnew
BUF = bufnew
transmitImage(img.copy())
Den fullständiga koden kan hittas på GitHub.