Giter VIP home page Giter VIP logo

visicam's Introduction

VisiCam

A Java application, that turns a webcam into a VisiCut compatible network camera with marker detection and perspective and fisheye correction. Uses OpenCV through JavaCV

This branch (tealvince) adds simple fisheye correction to better work with wide-angle lens cameras.

For detailed information, please have a look at the VisiCam Wiki.

Compile and Run

  1. Download JavaCV 0.8 (No other versions will work!):
  • On Linux: Simply run ./lib/fetch-javacv.sh on the command line in the unzipped VisiCam directory.
  • On Windows: Read the instructions in that file (Download and unpack ZIP, placing javavc-bin/ in lib/).
  1. Make sure you have apache-ant, java jdk >=6 and openCv installed (see below for OS-specific instructions)
  2. Go in the unzipped VisiCam directory and run ant on the command line
  3. run java -jar dist/VisiCam.jar on the Command Line or double click on the VisiCam.jar file in finder/explorer (copy html folder into dist for this to work)

Running on the Raspberry Pi

If you use it on ARM, you need to replace the javacv.jar in the dist/lib folder with the javacv.jar from the lib/javacv-pi folder. It works on ArchLinux (opencv can be installed through pacman). But is VERY SLOW. Any help is appreciated.

TODO: currently broken?

Running on Windows

Running on Ubuntu

Install the required dependencies with: sudo apt-get install openjdk-8-jdk ant libopencv2.4

You can also have a look at the Dockerfile for a more up-to-date list of all commands.

Usage

The following is a short summary of how to use VisiCut. For more detailed information, have a look at the VisiCam Wiki.

  1. Place 4 Markers (Circles within circles) near the corners of you laser-bed. For a first test, almost any configuration is okay, for example like this. Detailed information on how to achieve a professional set-up can be found in the VisiCam Wiki.
  2. Place a webcam over the laser-cutter, so that it's image contains all the markers.
  3. Connect the webcam to a PC running VisiCam.
  4. Go to you webbrowser and enter the VisiCam URL (is shown in the window after starting VisiCam).
  5. Click on "Refresh" on the left side to check if the camera is working and the markers are visible.
  6. Click on "Show Configuration". Here you can specify the resolutions and more important:
  7. For each Marker-Position (top-left, top-right, bottom-left, bottom-right) select a rectangle on the image, where VisiCam should search the marker
  8. Save the configuration with a click on the save-button
  9. In VisiCut go to Preferences -> Manage Lasercutters -> Edit and enter the CameraURL, which is <VisiCam URL>/image. If you have the latest version, you can just click "search" and all VisiCam instances in your Network should appear.
  10. You should see now the image from the webcam. To calibrate the camera go in Visicut to Options -> Calibrate Camera... and choose a laser setting. Then click on the Send Calibration Page-Button. VisiCut will send a calibration file to your lasercutter. It will cut two crosses (with the choosen settings) at (20%/20%) and (80%/80%) of the laser-bed. In the following dialog, you have to take a picture and move the red reference crosses matching to the ones you did just cut.
  11. Be happy with your VisiCam ;)

visicam's People

Contributors

frochr123 avatar kr4cker avatar mgmax avatar peteruithoven avatar sedrubal avatar t-oster avatar tealvince avatar

Watchers

 avatar

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.