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:

photography video python qt6

This project is part of:

Hack Week 21

Activity

  • over 3 years ago: dmair liked this project.
  • over 3 years ago: dmair added keyword "photography" to this project.
  • over 3 years ago: dmair added keyword "video" to this project.
  • over 3 years ago: dmair added keyword "python" to this project.
  • over 3 years ago: dmair added keyword "qt6" to this project.
  • over 3 years ago: dmair started this project.
  • over 3 years ago: dmair originated this project.

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


    Liz - Prompt autocomplete by ftorchia

    Description

    Liz is the Rancher AI assistant for cluster operations.

    Goals

    We want to help users when sending new messages to Liz, by adding an autocomplete feature to complete their requests based on the context.

    Example:

    • User prompt: "Can you show me the list of p"
    • Autocomplete suggestion: "Can you show me the list of p...od in local cluster?"

    Example:

    • User prompt: "Show me the logs of #rancher-"
    • Chat console: It shows a drop-down widget, next to the # character, with the list of available pod names starting with "rancher-".

    Technical Overview

    1. The AI agent should expose a new ws/autocomplete endpoint to proxy autocomplete messages to the LLM.
    2. The UI extension should be able to display prompt suggestions and allow users to apply the autocomplete to the Prompt via keyboard shortcuts.

    Resources

    GitHub repository


    Collection and organisation of information about Bulgarian schools by iivanov

    Description

    To achieve this it will be necessary:

    • Collect/download raw data from various government and non-governmental organizations
    • Clean up raw data and organise it in some kind database.
    • Create tool to make queries easy.
    • Or perhaps dump all data into AI and ask questions in natural language.

    Goals

    By selecting particular school information like this will be provided:

    • School scores on national exams.
    • School scores from the external evaluations exams.
    • School town, municipality and region.
    • Employment rate in a town or municipality.
    • Average health of the population in the region.

    Resources

    Some of these are available only in bulgarian.

    • https://danybon.com/klasazia
    • https://nvoresults.com/index.html
    • https://ri.mon.bg/active-institutions
    • https://www.nsi.bg/nrnm/ekatte/archive

    Results

    • Information about all Bulgarian schools with their scores during recent years cleaned and organised into SQL tables
    • Information about all Bulgarian villages, cities, municipalities and districts cleaned and organised into SQL tables
    • Information about all Bulgarian villages and cities census since beginning of this century cleaned and organised into SQL tables.
    • Information about all Bulgarian municipalities about religion, ethnicity cleaned and organised into SQL tables.
    • Data successfully loaded to locally running Ollama with help to Vanna.AI
    • Seems to be usable.

    TODO

    • Add more statistical information about municipalities and ....

    Code and data


    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)


    Improve chore and screen time doc generator script `wochenplaner` by gniebler

    Description

    I wrote a little Python script to generate PDF docs, which can be used to track daily chore completion and screen time usage for several people, with one page per person/week.

    I named this script wochenplaner and have been using it for a few months now.

    It needs some improvements and adjustments in how the screen time should be tracked and how chores are displayed.

    Goals

    • Fix chore field separation lines
    • Change screen time tracking logic from "global" (week-long) to daily subtraction and weekly addition of remainders (more intuitive than current "weekly time budget method)
    • Add logic to fill in chore fields/lines, ideally with pictures, falling back to text.

    Resources

    tbd (Gitlab repo)


    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:

    First meeting Hackweek catchup