Sky Kamerasoftware mit Bewegungserkennung und Farbwechselerkennung

Ich suche nach Himmelskamera-Software mit Bewegungserkennung (für Meteore und andere Objekte). Die Kamera wird an den Computer angeschlossen (über ein USB-Kabel) und die Software sollte die Kameraansicht betrachten und die folgenden Funktionen haben:

  • Bewegungserkennung:
    • Wenn eine Bewegung erkannt wird, speichern Sie ein Video, das die Bewegung enthält.
    • Die Kamera blickt auf den gesamten Himmel, daher sollte das gespeicherte Video nur den Bereich zeigen, der das sich bewegende Objekt enthält.
    • Sollte nicht zu empfindlich sein. Während sich die Erde bewegt, bewegen sich die Sterne kontinuierlich am Himmel und diese Bewegung sollte nicht gespeichert werden.
  • Erkennung wechselnder Farben (für Polarlicht und dergleichen):
    • Genauso wie bei der Bewegungserkennung sollte es, wenn es eine Änderung erkennt, ein Video speichern, wenn es eine Farbänderung erkennt, und dieses Video sollte nur den Bereich zeigen, der die Farbänderung enthält.

Freeware wird bevorzugt, aber Software bis 100 USD ist OK.

Antworten (1)

Obwohl ich persönlich keine spezifische spezialisierte Software kenne, die Ihren Anforderungen entspricht, denke ich, dass Sie sich OpenCV ansehen und sehen sollten, was Sie sich einfallen lassen können.

  • Kostenlos (sowohl gratis als auch FLOSS)
  • Plattformübergreifend: Windows, Linux, Android und Mac OS
  • Mehrere Programmiersprachen (C++, C, Python, Java und MATLAB-Schnittstellen), damit Sie das verwenden können, womit Sie vertraut sind oder was Sie sich leisten können (Hinweis: Python und Java sind kostenlos, GNU hat kostenlose C++- und C-Compiler).
  • Integrierte Bewegungserkennungsalgorithmen (einschließlich der Möglichkeit, Schwellenwerte festzulegen).
  • VideoWriter-Klasse, um Ihre Ergebnisse zu speichern
  • Aktive Benutzergemeinschaft (ich vermute, darunter einige studentische/professionelle Astronomen)

Beispiel für Bewegungserkennung in OpenCV in Python

Dieses Beispiel stammt aus dem Blog von Matthias Stein .

import cv2

def diffImg(t0, t1, t2):
  d1 = cv2.absdiff(t2, t1)
  d2 = cv2.absdiff(t1, t0)
  return cv2.bitwise_and(d1, d2)

cam = cv2.VideoCapture(0)

winName = "Movement Indicator"
cv2.namedWindow(winName, cv2.CV_WINDOW_AUTOSIZE)

# Read three images first:
t_minus = cv2.cvtColor(cam.read()[1], cv2.COLOR_RGB2GRAY)
t = cv2.cvtColor(cam.read()[1], cv2.COLOR_RGB2GRAY)
t_plus = cv2.cvtColor(cam.read()[1], cv2.COLOR_RGB2GRAY)

while True:
  cv2.imshow( winName, diffImg(t_minus, t, t_plus) )

  # Read next image
  t_minus = t
  t = t_plus
  t_plus = cv2.cvtColor(cam.read()[1], cv2.COLOR_RGB2GRAY)

  key = cv2.waitKey(10)
  if key == 27:
    cv2.destroyWindow(winName)
    break

print "Goodbye"