6

Как мне настроить свою веб-камеру на то, чтобы захватывать изображения потихоньку каждый раз, когда моя учетная запись (или любая учетная запись) входит в систему? Есть ли какое-то конкретное программное обеспечение, которое сделает это?

У меня есть камера Logitech QuickCam Fusion и работает под управлением Windows 7.

4 ответа4

6

Используя AutoIt, этот код будет делать снимок, просто запустите его при запуске (просто используйте ярлык, если вы не измените путь сохранения и не включите папку включения для включаемого файла). Обратите внимание, что при этом в течение половины времени на камере будет мигать любой светодиод на камере. во-вторых, пока он делает снимок, пути к этому нет:

#include <GUIConstants.au3>
#include <Webcam.au3>

$gui = GUICreate("Webcam UDF Test",640,480)
_WebcamInit()
_Webcam($gui,640,480,0,0)
GUISetState(@SW_HIDE)
Sleep(100)
ConsoleWrite("Taking snapshot ..." & @CRLF)
_WebcamSnapShot()
ConsoleWrite("Snapshot taken !" & @CRLF)

While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then
        _WebcamStop()
        Exit
    EndIf
    Sleep(10)
    _WebcamStop()
    Exit
WEnd

Вам нужно получить включаемый файл Webcam.au3 отсюда. Поместите его в ту же директорию, что и скрипт, или в папку autoit include. Я позаимствовал код с этого сайта и изменил его для ваших нужд. Файл появится в той же папке, что и скрипт (вы можете изменить его через файл Webcam.au3, если это необходимо).

РЕДАКТИРОВАТЬ: вам также нужно добавить эту строку в верхней части веб-камеры.au3:

#include <WindowsConstants.au3>

EDIT2: строка, которую вы измените для пути в Webcam.au3, если вы хотите указать это:

$snapfile = @ScriptDir & "\snapshot.bmp"

что-то вроде:

$snapfile = "C:\snapshot\snapshot.bmp"

или если вы хотите, чтобы дата и время рис .:

$snapfile = "C:\snapshot\" & @YEAR & "-" & @MON & "-" & @MDAY & "_" & @HOUR & "-" & @MIN & "-" & @SEC & ".bmp"
5

Я только что создал небольшую программу под названием qpic .

Единственными требованиями являются .Net Framework 3.5 .

Просто извлеките папку в любое место, и когда она будет запущена, через полсекунды она закроется и сохранит изображение JPG в папке, из которой оно было запущено, со следующим порядковым номером.

Просто поместите ярлык для этой программы в папку startup или HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run - и она должна работать без проблем!

Чтобы увидеть, когда кто-то вошел в систему, просто посмотрите на дату / время изображения.

Помимо всего этого, если ваша веб-камера имеет индикатор или аналогичный индикатор, который показывает, когда она активна, вы не сможете обойти это, поскольку это аппаратная функция веб-камеры ... Если вы не откроете его и не отсоедините светодиод / свет!

(Он построен на модифицированной версии этого проекта)

Вы можете скачать здесь.

2

Есть несколько способов сделать это.

Лично я бы сделал скрипт с использованием AutoIt (здесь есть пример, как сделать снимок). AutoIt позволяет при желании создать исполняемый файл из скрипта.

После того, как у вас есть рабочий сценарий, вам нужно создать ярлык для него (или исполняемого файла) в папке "Startup" StartMenu предполагаемого пользователя (или "Все пользователи", если снимок должен быть получен от всех пользователей).

1

Visual Basic 6, по-видимому, имеет библиотеки для управления веб-камерами.

На этой странице есть исходный код для приложения Visual Basic, которое начинает захват с веб-камеры, закрывает камеру и предлагает параметры форматирования видео.

Я представляю себе, что VBScript также предлагает такие вещи, которые, вероятно, будет проще запускать при запуске системы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .