GithubHelp home page GithubHelp logo

bux's Introduction

Tools ๐Ÿ› ๏ธ

๐Ÿ‘จโ€๐Ÿ’ป Programming Languages

R Python Micropython Arduino LaTeX Markdown

๐Ÿ’ป Programming Tools

Conda Git Github Homebrew Jekyll VSCodium

๐Ÿ”ฌ Research Cycle

Incscape Obsidian Raspberry Pi Zenodo Zotero

bux's People

Contributors

roaldarbol avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

bux's Issues

Include RPi cameras

When working on a RPi, the CSI camera is not discoverable by OpenCV (libcamera support is an open issue). Instead, use picamera2 when the OS is Raspberry Pi OS. Append as the last camera.

Scheduled recording

We'll need to be able to schedule recording - both recording time, time between and number of recordings preferably. Have a look at how it's implemented for RPi in Jolle's picamera.

Write serial methods

Uses from mpremote import pyboard - see screenshot:
Screenshot 2021-12-20 at 22 32 31

To list available serial ports, see here
Should preferably be a solution where a serial.write sends a command to begin and end.

(Let's make the serial connection into its own module to be published on PyPi - then others should be able to easily access a serial connection in Tkinter (or other GUI) applications.)

Implement OpenCV

VidGear is a wrap-around library that works both for webcams and picamera, can thread multiple processes seamlessly. Idea will be to edit the record_video.py file to manage recording irrespective of the OS.

Implement `Belay`

For controlling microcontrollers, Belay will be the chosen direction. Currently, the script establishes the connection to the board which may complicate things a bit as you'll need to tell the script which port to connect to. Could possibly use a class that takes the port as an input, establishes the connection in init, and then has @device.task methods.

Specify board type

Running code from micropython or arduino will make a difference. Additionally, I could enable WebREPL support for ESP's and other WiFi-enabled boards.

Spawn new pop-up windows

Would be great to spawn a new window for video streams, adjusting settings, maybe something serial related.

Use VidGear

VidGear looks like it provides a really good frontend - simpler than OpenCV, and really wide support. They're changing to a higher-performing ffmpeg backend. Not currently supporting picamera2, but that can be supported separately until then.

Implement settings file

The issues related to settings are beginning to build up, so it is about time that settings are properly implemented. Should there be a pop-up box, a settings file, ability to save/load settings etc. Can we write generic methods in a settings class?

Categories in settings file

Currently the toml file doesn't have categories, but it would be a convenient thing to have, making it more understandable. A loop needs to be made which can still access the items().

Make VideoProcess class

The process needs to exit gracefully. Make a new class which inherits from mp.Process(), and modify the terminate method to do cv2 stuff.

Get system info

Get system info - which platform is being used, which camera driver framework is being used (e.g. v4l2 or av-foundation). Use this information to automatically set possible settings.

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.