a project by dmair
Use the V4L2 API in a PySide qt6.3 application to capture frames, monitor and adjust image exposure from a camera Frame capture is functional I had equivalent functionality working with shell scripts and an application that no longer works.
Provide a qt6.3 based UI in Python to select from available V4L2 cameras and perform frame capture at a user configured interval. Allow user to select from available frame sizes supported by V4L2 camera. Allow user to configure day and night targets for image exposure (brightness, contrast and saturation). Allow user to specify V4L2 camera device controls that adjust each exposure property during day and night. Allow manual adjustment of camera controls. Provide for user entered material for automatic captioning of frames, e.g. text, datestamp and timestamp Automatically calculate day and night periods from user provided latitude/longitude. Provide for enumerated frame collection and daily ffmpeg timelapse generation from those frames at the end of the day. All re-usable properties to be part of persistent application configuration per-camera. Multiple instances can be run simultaneously for different cameras.
Aiming to get at least as far as day and night auto-exposure reliability.
Reach a usable frame capture application, perhaps not the enumerated frames.
No other data available, personal interest as a photographer. Would like to see it published but perhaps it won't be ready for that.
Resources
I would hope to be within months of being able to publish a usable tool Others with an interest in reliable video and photography from V4L2 cameras V4L2
Looking for hackers with the skills:
This project is part of:
Hack Week 21
Activity
Comments
Be the first to comment!
Similar Projects
Image ranker via click-to-choose using locally running UI by jeremy_moffitt
Description
Create an locally deployable application that allows the user to repeatedly choose between two images from a set to rank them over the course of multiple comparisons. The image set should be loadable from a local file folder the user specifies, then the program displays 2 images at a time to the user who selects their preferred image, random comparisons continue until the user decides they are done, or some threshold for comparisons is met (for example, all images except 1 have "lost" 5 times). The resulting stack sort is available to the user. As a stretch goal the images could be renamed or copy+rename based on the results. Additional stretch goal would be to sort images from a library of URLs (or perhaps a flickr stream). An unlikely but ambitious additional stretch goal is to filter out blurry images using some sort of AI plugin.
Goals
Provide an easily deployable interface in either golang or python (TBD) that supports easy image searching.
Expand the pool of possible image imports over time.
Opportunistically add AI filtering of images based on sharpness or other features.
Application runs on OpenSUSE (stretch goal to also test on Windows)
Resources
Expectation is user can run this on a local machine.
This is also meant as a learning project for freesimplegui and image understanding with Gemini
https://freesimplegui.readthedocs.io/en/latest/
https://ai.google.dev/gemini-api/docs/quickstart
https://ai.google.dev/gemini-api/docs/image-understanding
This could be used for sorting a large number of photos for quality/artistic purposes. This could also be used to rank the things that the photos/pictures represent, say ranking world wonders or food items or marvel movies.
Completed
- Add selector between view mode (1 picture shown, readonly driven by left side list) and vote mode (shows 2 photos click to vote)
- Track voting results
- Persist voting results on local disk (use directory path as key)
- re-sort list by win percentage as votes are cast
- localization support (English and Portuguese implemented)
- exif data display in view only mode
- export results to csv
- ask Gemini to vote
- ask Gemini to evaluate a single photo
Finish mpv port for gfxprim by metan
Description
I've started to work on porting mpv video player for gfxprim graphic library. I have a proof of concept ready and I would like to finish it properly. The only big part that is missing is software rescaling. The minor things that are missing are command line switches to select dithering (for black and white LCD displays), better keyboard mappings, etc.
Goals
Make the gfxprim video output for mpv production ready and prepare packages for openSUSE, Debian and Raspbian.
Bring to Cockpit + System Roles capabilities from YAST by miguelpc
Bring to Cockpit + System Roles features from YAST
Cockpit and System Roles have been added to SLES 16 There are several capabilities in YAST that are not yet present in Cockpit and System Roles We will follow the principle of "automate first, UI later" being System Roles the automation component and Cockpit the UI one.
Goals
The idea is to implement service configuration in System Roles and then add an UI to manage these in Cockpit. For some capabilities it will be required to have an specific Cockpit Module as they will interact with a reasource already configured.
Resources
A plan on capabilities missing and suggested implementation is available here: https://docs.google.com/spreadsheets/d/1ZhX-Ip9MKJNeKSYV3bSZG4Qc5giuY7XSV0U61Ecu9lo/edit
Linux System Roles:
- https://linux-system-roles.github.io/
- https://build.opensuse.org/package/show/openSUSE:Factory/ansible-linux-system-roles Package on sle16 ansible-linux-system-roles
First meeting Hackweek catchup
- Monday, December 1 · 11:00 – 12:00
- Time zone: Europe/Madrid
- Google Meet link: https://meet.google.com/rrc-kqch-hca
Improve/rework household chore tracker `chorazon` by gniebler
Description
I wrote a household chore tracker named chorazon, which is meant to be deployed as a web application in the household's local network.
It features the ability to set up different (so far only weekly) schedules per task and per person, where tasks may span several days.
There are "tokens", which can be collected by users. Tasks can (and usually will) have rewards configured where they yield a certain amount of tokens. The idea is that they can later be redeemed for (surprise) gifts, but this is not implemented yet. (So right now one needs to edit the DB manually to subtract tokens when they're redeemed.)
Days are not rolled over automatically, to allow for task completion control.
We used it in my household for several months, with mixed success. There are many limitations in the system that would warrant a revisit.
It's written using the Pyramid Python framework with URL traversal, ZODB as the data store and Web Components for the frontend.
Goals
- Add admin screens for users, tasks and schedules
- Add models, pages etc. to allow redeeming tokens for gifts/surprises
- …?
Resources
tbd (Gitlab repo)
Improvements to osc (especially with regards to the Git workflow) by mcepl
Description
There is plenty of hacking on osc, where we could spent some fun time. I would like to see a solution for https://github.com/openSUSE/osc/issues/2006 (which is sufficiently non-serious, that it could be part of HackWeek project).
Enhance git-sha-verify: A tool to checkout validated git hashes by gpathak
Description
git-sha-verify is a simple shell utility to verify and checkout trusted git commits signed using GPG key. This tool helps ensure that only authorized or validated commit hashes are checked out from a git repository, supporting better code integrity and security within the workflow.
Supports:
- Verifying commit authenticity signed using gpg key
- Checking out trusted commits
Ideal for teams and projects where the integrity of git history is crucial.
Goals
A minimal python code of the shell script exists as a pull request.
The goal of this hackweek is to:
- DONE: Add more unit tests
- New and more tests can be added later
- New and more tests can be added later
- Partially DONE: Make the python code modular
- DONE: Add code coverage if possible
Resources
- Link to GitHub Repository: https://github.com/openSUSE/git-sha-verify
Update M2Crypto by mcepl
There are couple of projects I work on, which need my attention and putting them to shape:
Goal for this Hackweek
- Put M2Crypto into better shape (most issues closed, all pull requests processed)
- More fun to learn jujutsu
- Play more with Gemini, how much it help (or not).
- Perhaps, also (just slightly related), help to fix vis to work with LuaJIT, particularly to make vis-lspc working.