libcamera, libreria di supporto per fotocamere per Linux, Android e ChromeOS

libcamera

libcamera è uno stack di fotocamere open source

Dopo quattro anni di sviluppo, è stata rilasciata la prima versione del progetto libcamera (0.0.1), che offre uno stack software per funzionare con videocamere, fotocamere e sintonizzatori TV su Linux, Android e ChromeOS, che continua lo sviluppo dell'API V4L2 e alla fine la sostituirà.

Poiché l'API della libreria sta ancora cambiando e non è completamente stabilizzata, finora il progetto è stato sviluppato senza biforcare singole versioni utilizzando un modello di sviluppo continuo.

In risposta alla necessità che le distribuzioni tengano traccia delle modifiche alle API che influiscono sulla compatibilità e per rendere più semplice la spedizione della libreria in pacchetti, è stato ora deciso di produrre versioni regolari che riflettano la misura in cui l'ABI e le API sono cambiate .

A proposito di libcamera

Il progetto eè stato sviluppato dagli sviluppatori di sottosistemi multimediali del kernel di linux insieme con alcuni produttori di fotocamere standardizzare il supporto Linux per le fotocamere degli smartphone e i dispositivi embedded legati a driver proprietari.

L'API V4L2 che è già disponibile nel kernel Linux una volta era costruito per funzionare con le tradizionali webcam standalone e non si adatta bene alla recente tendenza di spostare le funzionalità dall'MCU alla CPU.

A differenza delle fotocamere tradizionali, in cui le operazioni primarie di elaborazione delle immagini vengono eseguite nel processore per scopi speciali (MCU) integrato nella fotocamera, nei dispositivi embedded, per ridurre i costi, queste funzioni sono poste sulle spalle della CPU principale e richiedono un sofisticato driver che include componenti con licenza che non possono essere aperti.

Nell'ambito del progetto libcamera, dei I sostenitori del software libero e i produttori di hardware hanno cercato di creare una soluzione di compromesso che, da un lato, soddisfa le esigenze degli sviluppatori open source e, dall'altro, protegge la proprietà intellettuale dei produttori di fotocamere.

La batteria che offre libreria libcamera è implementato interamente nello spazio utente. Per garantire la compatibilità con le applicazioni e gli ambienti di programmazione esistenti, vengono forniti livelli per la compatibilità con l'API V4L, Gstreamer e Android Camera HAL.

Le componenti di interazione hardware proprietario specifico della fotocamera sono impacchettati come moduli che vengono eseguiti in processi separati e interagire con la biblioteca tramite IPC. I moduli non hanno accesso diretto al dispositivo e accedono all'apparecchiatura tramite un'API intermedia, attraverso la quale le richieste di accesso alle funzionalità necessarie al controllo della telecamera vengono riviste, filtrate e limitate.

La biblioteca fornisce inoltre l'accesso ad algoritmi per l'elaborazione e il miglioramento della qualità di immagini e video (correzione del bilanciamento del bianco, rimozione del rumore, stabilizzazione video, autofocus, selezione dell'esposizione, ecc.), che possono essere inseriti come librerie esterne aperte o moduli isolati proprietari.

La L'API fornisce l'accesso alle funzioni come determinare la funzionalità delle fotocamere integrate ed esterne esistenti, utilizzare i profili del dispositivo, gestire gli eventi di connessione e disconnessione della fotocamera, gestire l'acquisizione dei dati della fotocamera a livello di singolo fotogramma e sincronizzare le immagini con il funzionamento del flash. È possibile lavorare separatamente con più telecamere nel sistema e organizzare l'acquisizione di più flussi video da una telecamera contemporaneamente (ad esempio, una a bassa risoluzione per una videoconferenza,

Questo il rilascio della patch avvia le procedure di rilascio del pacchetto per il progetto. Le versioni iniziali includeranno un aumento del numero di versione della patch (0.0.x), nonché un corrispondente aumento del nome del figlio.

Infine, per coloro che sono interessati a saperne di più, dovrebbero sapere che il codice del progetto è scritto in C++ ed è distribuito con licenza LGPLv2.1. È possibile consultare il codice del progetto, nonché le istruzioni per compilare la libreria per lavorarci nel seguente link


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.