GithubHelp home page GithubHelp logo

camera_capture's Introduction

Webcam capturing in Rust

Description

Captures webcam images and offers access to them through an iterator. Works with v4l2 on Linux. OSX is not supported.

TODO

  • threaded access through channel Receiver
  • automatic webcam detection and selection

Documentation

You can create the documentation (locally) by executing cargo doc --no-deps --open.

Example

extern crate camera_capture;

fn main() {
    let cam = camera_capture::create(0).unwrap();
    let cam = cam.fps(5.0).unwrap().start().unwrap();
    for _image in cam {
        println!("frame");
    }
    println!("done");
}

Piston Example

  • run via cargo run --example piston
  • source

camera_capture's People

Contributors

lukaskalbertodt avatar oli-obk avatar teovoinea avatar tpltnt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

camera_capture's Issues

can you document your pkg-config

On fedora26 the entry for pkg-config isn't automatically populated with package information. So some additional docs in how to link libv4l2 would be helpful.

examples don't compile

It's a dependency problem with piston:
error: Could not compile `piston2d-gfx_graphics`.
It's 72 times the same error:
Use of undeclared type or module `gfx`

Exact command to reproduce:
cargo run --release --example hello_camera
My system is an Ubuntu x86_64 with libv4l-dev installed and a webcam which is known to work with other programs.

examples are failing

Hi there,

i tried the examples and got the following results:

  • cargo run --example glium: "An error occured: Webcam thread was killed or did not responded for 500ms. Stopping."
  • cargo run --example hello_camera: "thread 'main' panicked at 'called Result::unwrap() on an Err value: InvalidFps([0.0, 0.0])', src/libcore/result.rs:997:5" (looks like #18)
  • cargo run --example take_picture: "thread 'main' panicked at 'called Result::unwrap() on an Err value: InvalidFps([0.0, 0.0])', src/libcore/result.rs:997:5" (also looks like #18)

Cheers,
tpltnt

panic in piston example

Hi there,

the piston example panics when executed.
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: InvalidFps([0.0, 0.0])', src/libcore/result.rs:997:5 note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
The offending line seems to be imgthread.join().unwrap();. Note that #17 is related but does not fix this panic.

Cheers,
tpltnt

Does it work for FullHD 30 fps MJPEG webcam?

Does it work for FullHD 30 fps MJPEG webcam?

My webcam's default capture option is YUV at 5 fps, the only other option is 30 fps as MJPEG. When I use escapi it always chooses the 5 fps because it's the default.
Does this crate support choosing the non-default 30 fps with mjpeg? :)

Does it work at least on linux?

Inaproriate ioctl for device - raspberry pi module 3

Steps to reproduce

fn main() {
    let cam = camera_capture::create(0).unwrap();
    let cam = cam
        .start().expect("Couldn't start");
    for _image in cam {
        println!("frame");
    }
    println!("done");
}
# On a raspberry pi with a camera module 3 connected
cargo run

Expected result

It should print out "frame".

Actual result

thread 'main' panicked at src/main.rs:25:18:
Couldn't start: Os { code: 25, kind: Uncategorized, message: "Inappropriate ioctl for device" }

CouldNotLoadEscapiDLL

CouldNotLoadEscapiDLL(126) shows up when running your example from the readme. The program does work if I get the escapi.dll and put it in the same folder as the exe, however I only want to have one file. Is it possible to inject the escapi.dll inside of the exe with rust?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.