SimpleCV tem uma classe Image
que você pode usar para processar arquivos de imagens (ao invés de dizer para pegar uma imagem do hardware), então seu problema real é extrair uma imagem do fluxo atual.
Existem várias maneiras de fazer isso, mas eu provavelmente manteria isso fora de banda (no Ubuntu, não no Python) e apenas atualizaria constantemente o mesmo arquivo de imagem o tempo todo (e loop em Python / SimpleCV). / p>
Primeiro, você precisa do endereço de streaming. Há uma uma lista de Hikvision aqui , mas vai parecer algo como: rtsp://IPADDRESS:554/h264
Podemos então executar avconv
(do libav-tools
package, ou ffmpeg
de qualquer PPA respeitável que você possa encontrar) para capturar e manter a captura uma vez por segundo ( com base nisso ):
avconv -i rtsp://IPADDRESS:554/h264 -f image2 -r 1 -updatefirst 1 /path/to/img.jpg
Isso nos leva de volta ao SimpleCV. Para simplificar muito o exemplo :
import time
from SimpleCV import *
while True:
img = Image('/path/to/img.jpg')
img.show()
time.sleep(1) #wait for 1 second
Como alternativa, a câmera especifica declarações que fornecem acesso FTP (entre outras coisas). Qualquer coisa que consiga um arquivo de imagem é uma opção viável aqui.