Individuare e contare le persone con Yolo v8

In questo articolo scoprirai cos’è YOLO e come utilizzarlo per analizzare un video, riconoscere e contare le persone presenti al suo interno. Vedremo come scrivere un semplice script in Python, configurabile, che consente di scegliere la sorgente video più adatta alle proprie esigenze. Cos’è YOLO? YOLO (You Only Look Once) è un algoritmo di object detection in tempo reale basato su reti neurali. In parole semplici, YOLO analizza ogni frame di un video (che sia un file o un flusso da webcam/IP camera) per identificare oggetti come persone, veicoli, animali e molto altro. ...

Funzioni

In tutti i linguaggi di programmazione, uno degli aspetti più importanti è l’organizzazione e la leggibilità del codice. In Python, come in molti altri linguaggi, questo obiettivo si raggiunge anche attraverso l’uso delle funzioni. Tutto il codice che scriviamo è, per convenzione, eseguito all’interno di una funzione principale, spesso chiamata main. Tuttavia, possiamo e dobbiamo suddividere il codice in più funzioni per semplificare la manutenzione e favorire il riuso. Cosa sono le funzioni in Python? La definizione delle funzioni in Python avviene tramite la parola chiave def, seguita dal nome della funzione e dalle parentesi tonde. Esistono due tipi principali di funzioni: ...

20 luglio 2025 · 2 minuti · 

Come leggere la CIE tramite NFC in .NET

In questo articolo scoprirai come leggere i dati della CIE – Carta d’identità elettronica da un punto di vista tecnico, utilizzando un lettore NFC compatibile e un’app sviluppata in .NET. Analizzeremo i protocolli utilizzati, i formati dei dati e un esempio pratico di implementazione. Cos’è la CIE? Dal punto di vista informatico, la CIE è una smart card contactless conforme allo standard ICAO 9303, lo stesso impiegato nei passaporti elettronici. I dati vengono salvati principalmente in due modalità: ...

14 luglio 2025 · 4 minuti · 

Installare Java e scelta dell’IDE

Se stai leggendo questo articolo, probabilmente è la tua prima esperienza con Java e, in generale, con la programmazione. In questo articolo vedremo come installare l’SDK di Java, scegliere un IDE e scrivere un semplice programma per verificare che tutto funzioni correttamente. Dopo aver discusso del perché Java possa essere un’ottima scelta sia per un neofita che per un programmatore esperto, vediamo ora come installare l’SDK di Java e scegliere l’IDE più adatto. ...

22 giugno 2025 · 3 minuti · 

Control Flow e Cicli in Python

In tutti i moderni linguaggi di programmazione, gli statement condizionali e i cicli sono fondamentali per due scopi principali: Prendere decisioni sulla base di valori dati o calcolati. Automatizzare operazioni ripetitive per evitare di riscrivere lo stesso codice. If…else Lo statement if...else permette di variare il normale flusso di esecuzione del codice valutando una determinata condizione. Ecco un esempio: x = int(input("Insert a number:")) if x % 2 == 0: print("Your number is even") else: print("Your number is odd") Questo codice stamperà un messaggio diverso a seconda che il valore inserito dall’utente sia un numero pari o dispari. ...

27 dicembre 2024 · 3 minuti · 

Spring Framework – Parte 2

Introduzione Nell’articolo precedente, abbiamo introdotto le basi di Spring Boot, creato un progetto base e sviluppato una semplice API. In questa seconda parte, collegheremo il progetto a un database, utilizzando PostgreSQL per la persistenza e la gestione dei dati. PostgreSQL PostgreSQL, nato nel 1985 come “post-ingres” grazie a Michael Stonebraker, è un’alternativa potente a database relazionali come MySQL. Una sua caratteristica unica è la possibilità di definire nuovi tipi di dati e utilizzare l’ereditarietà tra tipi. Maggiori dettagli sono disponibili sul sito ufficiale di PostgreSQL. ...

9 novembre 2024 · 3 minuti · 

Operatori in Python: Aritmetici, di Confronto e Logici

In Python, come in ogni linguaggio di programmazione, sono disponibili diversi operatori per la manipolazione dei numeri, delle variabili logiche e per il confronto tra oggetti. Operatori Aritmetici Quelli più familiari per tutti sono sicuramente gli operatori matematici: Sum: + Subtraction: - Multiplication: * Division: / oppure // Exponentiation: ** Mod: % Vediamo un esempio per ciascun operatore: print(10 + 3) # Somma: 13 print(10 - 3) # Sottrazione: 7 print(10 * 3) # Moltiplicazione: 30 print(10 / 3) # Divisione: 3.3333... print(10 // 3) # Floor division: 3 print(10 ** 3) # Elevamento a potenza: 1000 print(10 % 3) # Modulo: 1 Tra questi, l’operatore //, chiamato “Floor Division”, merita una breve spiegazione: questo operatore arrotonda per difetto il risultato della divisione, eliminando la parte decimale. ...

26 ottobre 2024 · 2 minuti · 

Autenticazione JWT

Avete presente quando su un sito web c’è una sezione privata a cui si accede inserendo username e password? Avete mai notato che, in molti casi, una volta effettuato l’accesso, non viene più richiesto di inserire username e password per gli accessi successivi? Nelle applicazioni web stateless, questo comportamento è implementabile utilizzando un token JWT. JWT è l’acronimo di JSON Web Token e rappresenta uno standard per lo scambio di dati, definito dalla RFC7519 del 2015. ...

13 ottobre 2024 · 3 minuti · 

Spring Framework – Parte 1

Cos’è un Framework Un Framework, semplificando, è un insieme di classi, librerie e strumenti predefiniti che forniscono una struttura di base per lo sviluppo di applicazioni software. L’uso di un Framework consente agli sviluppatori di evitare l’implementazione da zero di funzionalità di base, permettendo loro di concentrarsi sullo sviluppo di funzionalità specifiche e personalizzate per il progetto. Spring Spring è un framework open source per lo sviluppo di applicazioni Java. La prima versione del framework è stata distribuita nel 2003 da Rod Johnson ed è stata arricchita nel corso degli anni con una serie di estensioni. ...

6 ottobre 2024 · 5 minuti · 

Python – Tipi di dati

Come accennato in questo articolo, Python è un linguaggio a non tipizzato, il che significa che il tipo di una variabile viene determinato durante l’esecuzione del programma e non può essere modificato successivamente. Tuttavia, ciò non significa che non esistano distinzioni tra i vari tipi di variabili. Vediamo quindi i tipi di dati nativamente presenti in Python: Stringhe: str Numeri: int, float, complex Sequenze: list, tuple Mappe: dict Sets: set, frozenset Boolean: bool Binary: bytes, bytearray, memoryview In Python, non è necessario specificare il tipo di una variabile durante la dichiarazione. Ciò consente a una variabile di contenere uno qualsiasi dei tipi sopra elencati. Inoltre, la tipizzazione dinamica permette di cambiare il tipo di una variabile in qualsiasi momento durante l’esecuzione del codice. ...

29 settembre 2024 · 2 minuti ·