Coder Social home page Coder Social logo

humorbei / 3d_line_laser_scanner Goto Github PK

View Code? Open in Web Editor NEW

This project forked from iljarukin/3d_line_laser_scanner

0.0 0.0 0.0 233.09 MB

3D scanner build from a raspberry pi zero with camera, two line laser pointers and a rotating plattform

Python 31.29% Jupyter Notebook 68.71%

3d_line_laser_scanner's Introduction

3D_line_laser_scanner

3D scanner build from a raspberry pi zero with camera, 2x line laser pointers and a rotating plattform.

Calibration must be improved, since the 3d scan is quite inaccurate.

steps to use this 3D scanner

  1. print the 3D files and cut some rods to size

  2. assemble it with a nema17 motor, a raspberry pi (zero w) and two line lasers

GPIO5 #left laser
GPIO6 #right laser
GPIO13 #button
GPIO22, #stepper dir
GPIO23, #stepper step
GPIO24, #stepper enable
  1. take calibration images while holding a printed-out image of "/rectification/calibration_reference.png" OPTIONAL: calibrate the camera using "/rectification/1_find_corners.py" and "/rectification/2_calibration.py"

  2. Then you have two options:

  • execute "full_scan.py" to take images and compute point-cloud on the raspberry pi at once (slooow). For this "/rectification/mapx.npy", "/rectification/mapy.npy" and "3D_scan.py" have to be transferred to /home/localuser/3Dscanner/ and make the python-script executable by "sudo chmod +x /home/localuser/3Dscanner/full_scan.py".
  • execute "take_images.py" to only take images on your pi, then transfer the images to a faster pc and execute "process_images.py" to compute the point-cloud. For this "take_images.py" have to be transferred to /home/localuser/3Dscanner/ and make the python-script executable by "sudo chmod +x /home/localuser/3Dscanner/take_images.py".
  1. run scanning by pressing the button (3x times in total) and following these steps after each consequent press: -calibration: place a screen on the plattform and make shure both line lasers are vertical and meet at the center of the plattform -setting offset: takes (automatic) a picture of the two lines to set the offsets, as both lasers are off remove the screen -start scanning: executes the scanning

3d_line_laser_scanner's People

Contributors

iljarukin 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.