CONTATTACI

Blog

Ragazza gioca con il logo di Python

Generare QR code da immagini usando Python

Le origini del Quick Response Code (in breve QR code) risalgono agli anni '90, ma fino a poco tempo fa non erano molto adottati nell’uso comune. Grazie agli smartphone e al distanziamento sociale dovuto al COVID-19, i codici QR fanno ormai parte integrante delle nostre vite.

I codici QR sono piuttosto utili: possono memorizzare tutti i tipi di dati come testo, numeri di identificazione e indirizzi URL. Visivamente, tuttavia, la maggior parte dei codici QR è piuttosto noiosa. Per rendere un codice QR intrigante e bello da vedere, vediamo come generare, da immagini, codici QR scannerizzabili tramite l’utilizzo del linguaggio di programmazione Python, uno dei linguaggi di programmazione più usati al mondo.
 

A cosa serve Python?

Banalmente Python per versatilità e compattezza risulta il linguaggio di programmazione più consono a questo tipo di compiti, ma in larga scala programmare in Python consente anche di creare algoritmi di intelligenza artificiale, sviluppare siti web o effettuare complesse analisi sui dati. 
Imparare Python rappresenta un obiettivo importante se si vuole intraprendere la carriera da sviluppatore software. Inoltre, permette di svolgere queste piccole chicche di programmazione, che in Python diventano molto facili da implementare.

Ma basta indugi! Vediamo subito come fare qr code da immagini usando Python.

 

Crea Qrcode da immagini!
 

Step 1: scegli un’immagine

Possiamo scegliere qualsiasi immagine in questo step, ma abbiamo ritenuto che fosse meglio utilizzare un'immagine di dimensioni 1:1 (stessa larghezza e altezza) perché dovremo ridimensionarla per adattarla a un quadrato.

# Image must be at least 186x186px 
img_url = 'https://upload.wikimedia.org/wikipedia/commons/1/16/Fox_-_British_Wildlife_Centre_%2817429406401%29.jpg'

 

Step 2: scegli un URL

Il testo per il nostro QR code è limitato a 100 caratteri, puoi utilizzare un accorciatore di URL se devi utilizzare un URL più lungo (a proposito, non abbiamo bisogno di utilizzare un URL in questo step, qualsiasi testo può essere codificato nel codice QR risultante, è una scelta a tua discrezione).

# Maximum 100 characters 
text = 'https://en.wikipedia.org/wiki/Red_fox'

 

Step 3: scarica ed elabora l’immagine

In questa fase utilizzeremo una specifica libreria in Python per scaricare un’immagine da un URL, La libreria si chiama PIL; dopodiché dobbiamo effettuare un ridimensionamento dell’immagine che ci servirà in seguito. Le librerie in Python sono delle risorse estremamente utili, oltre ad essere quasi tutte open-source, molte sono fondamentali per semplificare determinati compiti.
Programmare in Python richiede la conoscenza di un buon numero di librerie in modo tale da essere in grado di implementare e svolgere diversi compiti.

from PIL import Image 
import requests 
im = Image.open(requests.get(img_url, stream=True).raw) 
min_width_height = min(im.size) 
im = im.crop(((im.size[0] - min_width_height)/2, (im.size[1] - min_width_height)/2, min_width_height, min_width_height))
 
im.save('image_source.png') 

im1 = im.resize((186,186), Image.Resampling.LANCZOS) 
im1.save('image_186x186.png') 

im2 = im.resize((93,93), Image.Resampling.LANCZOS) 
im2.save('image_93x93.png')

 

Step 4: generiamo il QR code

Usando la repository presente su github: https://github.com/xyzzy/qrpicture per generare il codice. La creazione di una foto QR è un processo in due parti: innanzitutto dobbiamo creare un'immagine monocromatica con retinatura di 93×93 pixel, questa immagine è sovrapposta con pixel QR obbligatori per garantire che l'immagine risultante sia un codice QR valido. Per farlo seguiamo la guida per installare il generatore di QR code e usufruiamo di questo comando per completare il processo:

!./qrwork $text image_93x93.png output_bw.png

L’output verrà salvato direttmente nel filesystem e potremo facilmente visualizzarlo tramite la libreria IPython.

from IPython import display 
display.Image("./output_bw.png")

Il gioco è fatto. Dopo aver ottenuto l’immagine in formato QR code potrai personalizzarla come preferisci tramite l’ausilio di package o librerie in Python, anche della stessa repository presente su github e comodamente installabile con il comando “pip install …”.
Il codice Python per generare un codice QR da un’immagine è davvero semplice: poche righe per una potenza applicativa davvero notevole. La compattezza è la forza di questo linguaggio e imparare Python risulta essere un plus molto influente nel momento in cui ci si propone alle software house che assumono sviluppatori.

Se vuoi saperne di più non esitare a guardare anche il nostro video!

Articoli correlati

Il linguaggio HTML (Hypertext Markup Language) è uno dei più conosciuti e diffusi: lo si trova infatti praticamente in tutte le pagine web esistenti. È una scelta popolare tra i principianti che si…

Seguici su Facebook

Vuoi entrare nel mondo della programmazione?

Scopri di più sui nostri corsi!

Chiamaci al numero verde

Contattaci su WhatsApp

Contattaci senza impegno per informazioni sul corso

Pagamento rateale

Valore della rata: A PARTIRE DA 115 €/mese.

Esempio di finanziamento 

Importo finanziato: € 2440 in 24 rate da € 115 – TAN fisso 9,55% TAEG 12,57% – importo totale del credito € 2841.

Il costo totale del credito comprende: interessi calcolati al TAN indicato, oneri fiscali (imposta di bollo sul contratto 16,00 euro*) addebitati sulla prima rata, costo mensile di gestione pratica € 3,90, spesa di istruttoria € 0,00, spesa per invio rendicontazione periodica cartacea € 0,98 (o spesa per invio rendicontazione periodica cartacea € 0,00), imposta di bollo su rendicontazione periodica € 0,00. Modalità di rimborso obbligatoria: addebito diretto su c/c. La scadenza delle rate è determinata dal giorno della liquidazione del contratto; la data di scadenza delle rate è prevista il giorno 15 del mese. L’importo di ciascuna rata comprende una quota di capitale crescente e interessi decrescente secondo un piano di ammortamento “alla francese”. Offerta valida dal 01/01/2024 al 31/12/2024.

Messaggio pubblicitario con finalità promozionale. Per le informazioni precontrattuali richiedere sul punto vendita il documento “Informazioni europee di base sul credito ai consumatori” (SECCI) e copia del testo contrattuale. Salvo approvazione di Sella Personal Credit S.p.A. Aulab S.r.l. opera quale intermediario del credito NON in esclusiva.

*In fase di richiesta del finanziamento verrà proposta la facoltà di selezionare, in alternativa all’imposta di bollo sul contratto di 16,00 euro, l’imposta sostitutiva, pari allo 0,25% dell’importo finanziato.

Pagamento rateale

Valore della rata: A PARTIRE DA 210 €/mese.

Esempio di finanziamento  

Importo finanziato: € 4500 in 24 rate da € 210,03 – TAN fisso 9,68% TAEG 11,97% – importo totale del credito € 5146,55.

Il costo totale del credito comprende: interessi calcolati al TAN indicato, oneri fiscali (imposta di bollo sul contratto 16,00 euro*) addebitati sulla prima rata, costo mensile di gestione pratica € 3,90, spesa di istruttoria € 0,00, spesa per invio rendicontazione periodica cartacea € 0,98 (o spesa per invio rendicontazione periodica cartacea € 0,00), imposta di bollo su rendicontazione periodica € 0,00. Modalità di rimborso obbligatoria: addebito diretto su c/c. La scadenza delle rate è determinata dal giorno della liquidazione del contratto; la data di scadenza delle rate è prevista il giorno 15 del mese. L’importo di ciascuna rata comprende una quota di capitale crescente e interessi decrescente secondo un piano di ammortamento “alla francese”. Offerta valida dal 01/01/2024 al 31/12/2024.

Messaggio pubblicitario con finalità promozionale. Per le informazioni precontrattuali richiedere sul punto vendita il documento “Informazioni europee di base sul credito ai consumatori” (SECCI) e copia del testo contrattuale. Salvo approvazione di Sella Personal Credit S.p.A. Aulab S.r.l. opera quale intermediario del credito NON in esclusiva.

* In fase di richiesta del finanziamento verrà proposta la facoltà di selezionare, in alternativa all’imposta di bollo sul contratto di 16,00 euro, l’imposta sostitutiva, pari allo 0,25% dell’importo finanziato.

Contattaci senza impegno per informazioni sul corso

Scopriamo insieme se i nostri corsi fanno per te. Compila il form e aspetta la chiamata di uno dei nostri consulenti.