Сфоткать с веб камеры как: Pixect (Пиксект) – Делайте фото и снимайте видео на камеру онлайн

Javascript/html — сделайте снимок с веб-камеры и обработайте его как input type=»file»

У меня есть код, который я могу загрузить, отобразить и запустить на нем распознавание лиц, например

html

 
  <тип ввода="файл">

 

javascript

 const imageUpload = document.getElementById('imageUpload')
Обещание.все([
  faceapi.nets.faceRecognitionNet.loadFromUri('/models'),
  faceapi.nets.faceLandmark68Net.loadFromUri('/models'),
  faceapi.nets.ssdMobilenetv1.loadFromUri('/models')
]).затем(начало)
запуск асинхронной функции () {
  константный контейнер = document.createElement('div')
  container.style.position = 'относительный'
  document.body.append(контейнер)
  const labeledFaceDescriptors = await loadLabeledImages()
  const faceMatcher = новый faceapi.FaceMatcher (помеченный как FaceDescriptors, 0.6)
  пусть изображение
  пусть холст
  document.body.append('Загружено')
  imageUpload.addEventListener('изменить', асинхронный () => {
    если (изображение) image. remove()
    если (холст) canvas.remove()
    изображение = ожидание faceapi.bufferToImage(imageUpload.files[0])
    container.append(изображение)
    холст = faceapi.createCanvasFromMedia (изображение)
    container.append(холст)
    const displaySize = {ширина: image.width, высота: image.height}
    faceapi.matchDimensions (холст, displaySize)
    константные обнаружения = ожидание faceapi.detectAllFaces(image).withFaceLandmarks().withFaceDescriptors()
    const resizedDetections = faceapi.resizeResults(обнаружения, displaySize)
    const results = resizedDetections.map(d =>
faceMatcher.findBestMatch(d.descriptor)) results.forEach((результат, я) => { const box = resizedDetections[i].detection.box const drawBox = new faceapi.draw.DrawBox(box, {метка: result.toString()}) drawBox.draw(холст) }) }) }

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

Спасибо

  • javascript
  • html
  • интерфейс

3

Вы можете использовать navigator. mediaDevices.getUserMedia API
для получения доступа к камере и ImageCapture API для снятия скриншота с нее
(вы также можете использовать плюс элемент вместо ImageCapture ).

Ссылки MDN:
https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia https://developer.mozilla.org/en-US/docs/Web/API/ImageCapture

Здесь у вас есть кодовая ручка, чтобы показать, как с ее помощью сделать снимок экрана: https://codepen.io/Xion14/pen/yLjyZRP

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но никогда не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Запрос о скрипте, который заставляет веб-камеру снимать изображение каждые x секунд

спросил

Изменено 8 лет, 6 месяцев назад

Просмотрено 3к раз

У меня есть веб-камера Trust USB.

Я ищу (или создаю) скрипт, который мог бы делать скриншот с камеры каждые 10 секунд и сохранять изображение на диск с отметкой времени для имени файла.

Я нашел

 стример -o 0000.jpeg -s 300x200 -j 100 -t 1 -r 10
 

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

Есть идеи по поводу скрипта, который может начать снимать таймлапс фотографии при запуске моей машины?

Спасибо.

  • скрипты
  • веб-камера

Здесь у вас есть несколько решений, возможно, лучше всего будет запустить вашу команду в одной строке следующим образом:

 пока правда; сделать стример -o `date +%Y%m%d-%H%M%S`.jpg -s 300x200 -j 100 -t 1 -r 10; спать 10; сделанный
 

Вы можете использовать десятичные дроби в скорости. Это работает:

 стример -t 99999999999999 -r 0.1 -o 00000.jpeg
 

Аргумент -t должен быть заполнен по какой-то причине, но вышеуказанное будет работать в течение 3 миллиардов лет (да).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *