Recupero di QR code

Data: 17 giu 2016


Sito on line dal 2003
Home page
email
Chi sono
Translation
ℛecupero di un QR code che è stato reso illeggibile dal tempo e dall'umidità. In pratica un'opera di restauro del codice QR. Usiamo il programma gratuito The GIMP. È necessario avere un po' di dimestichezza con questo programma anche se in questo tutorial cercheremmo di essere elementari. Quella che segue, Figura 1, è l'immagine di partenza:

Paper wallet

Bitcoin Paper wallet rovinato

L'immagine è di tipo .jpg ed è derivata da una foto ad alta risoluzione. L'immagine che segue, Figura 2, è già un po' trattata, infatti è stata ruotata con lo strumento layer>transform>arbitrary rotation, poi è stata deformata in modo da essere squadrata con toolbox>perspective tools oltre che usando le guide, diverse guide per allineare l'immagine a un quadrato usando i diversi strumenti (rotazioni e prospettiva).

Se cercate aiuto per qualche strumento che non vi è chiaro come può essere usato per fare le operazioni descritte in questo tutorial, potete usare l'AI di Bing che è a conoscenza di come funziona The Gimp. Sfortunatamente la versione gratuita è limitata ma potrebbe aiutarvi quando siete nei guai su come fare. Cliccate nel link seguente: LINK e poi in alto cliccate su "COPILOT", appena sotto la barra di ricerca: entrerete nella chat di Chat-GPT.

Usiamo il ridimensionamento dell'immagine in modo da avere una immagine quadrata: image>scale image, cerchiamo una risoluzione multipla di 33 (33 x n). Il numero intero n sarà usato in seguito. 33 perché il numero di quadretti è 33x33 per memorizzare un indirizzo bitcoin del tipo:
1BB6LLrQFTwXiWkFakNfZXd4pyGxpbBDw
In effetti il nostro esempio contiene un indirizzo bitcoin. Se il QR code ha un numero di quadretti diverso da 33x33 allora si segue questa guida con il nuovo numero al posto di 33. Per avere il QR code che vedete in Figura 2, allarghiamo l'immagine di  n pixel in orizzontale  e n in verticale con image>canvas size (l'allargamento verrà riempito con il colore di sfondo che avete impostato) e centriamo l'immagine con l'opzione "center" di canvas size.

QR originale

QR code squadrato

Sovrapponiamo un reticolo per individuare i quadretti da colorare di nero manualmente. Usiamo filters>distorts>mosaic con queste impostazioni:
Squares
Size: n
height: 1
spacing: 1
Neatness: 1.00
light: 0.0
color variation: 0.0
light direction: 90

Non vistiamo le altre impostazioni. Premiamo ok appena vediamo che il reticolo è come lo vogliamo e come mostrato in Figura 2. Adesso abbiamo proprio l'immagine qui sopra. Comunque sia dobbiamo notare che il reticolo si sovrappone quasi esattamente col nostro codice QR da restaurare.

Si aggiunga un layer: layer>new layer con sfondo bianco (fill with White) e si applichi la retinatura appena vista (filters>distorts>mosaic) anche al nuovo layer. Con la palette layer  (la finestrella a destra dei layer) si agisca sull'opacità del nuovo layer (tasto destro>edit layer attributes>opacity) in modo da vedere contemporaneamente il nuovo layer e l'immagine Figura 2. Manualmente si proceda a riempire di nero i quadretti del nuovo layer con lo strumento secchiello toolbox>bucket fill tool. L'operazione è lunga e tediosa. Ovviamente riempite di nero i quadretti del nuovo layer!

Esiste una modalità automatica ma dipende dall'immagine di partenza. Si può agire con filters>distorts>mosaic sulla scelta "color averaging", si provi a vistarla. Dovrebbero comparire con una tonalità più scura tutti i quadretti del QR code. Con l'immagine qui sopra non funziona e si ottengono molti errori. Se funzionasse basta un filtro a soglia (colors>threshold) per rendere neri i quadretti più scuri e bianchi quelli più chiari.

Continuiamo il lavoro solo sul nuovo livello e quindi abbiamo ottenuto l'immagine di Figura 3.

Quindi ho notato che la retinatura è solo lo sfondo trasparente della mia png, con image>flatten image si elimina la retinatura trasparente e con colours>threshold si eliminano eventuali righe grige rimaste dalla retinatura. Vedi Figura 4.

Pare che l'immagine ottenuta non sia leggibile dai programmi di qrcode e occorre selezionare la bacchetta magica, toolbox>fuzzy select tool, metterla sul bianco dell'immagine del nuovo layer e selezionare tutte le parti bianche dell'immagine, fare un select>inverse, poi un select>grow di 1 pixel quindi edit>fill with foreground color (black) e quindi select>none. Otteniamo la Figura 5.

Si salva l'immagine, si esegue un export png del codice QR (solo il nuovo layer, Figura 5) e si passa al riconoscimento del qrcode con il programma zbar o altri programmi o con programmi on line come questo.

Con zbarimage si ottiene:
$ zbarimg /home/sandro/Desktop/qr.png
QR-Code:1BB6LLrQFTwXiWkFakNfZXd4pyGxpbBDw
scanned 1 barcode symbols from 1 images in 0.03 seconds

Questa è la sequenza di immagini ottenute:

fase 1

Codice QR dopo l'operazione manuale di riempimento dei singoli quadretti


fase 2

Codice QR dopo avere eliminato la retinatura

QR finale

Codice QR finale (qr.png)


Consiglio: la persona che aveva necessità di recuperare il qr code di questo testo esiste ed ha stampato il foglietto che vedete a inizio del testo (che si chiama Bitcoin Paper wallet) con una stampante a getto d'inchiostro, il foglietto dopo un paio d'anni si è sbiadito. Il consiglio è di non usare le stampanti a getto d'inchiostro ma le stampanti laser che quindi abbiano il toner che in definitiva è una plastica che si appiccica alla carta.

Kensan.it




Non dimenticatevi di mettere la vostra opinione: scrivete il commento, premete "Inserisci" e il commento è immediatamente pubblicato nell'area qui sotto: grazie!






Altri testi sullo stesso argomento li trovate elencati di seguito sotto l'argomento Bitcoin

Diaspora* button
-
Facebook button
0
Twitter button
-
Google+ button
0
LinkedIn button
0
TzeTze button
voti: 0
Data: 17 giu 2016
Letture di questo articolo: 131
...a partire da 2024-01-16
argomento: Bitcoin, articoli: Primo acquisto in bitcoin, Default di Cipro, Rimesse, Bitcoin Paper wallet, Darkcoin, Negozi on line che accettano Bitcoin, Inviare bitcoin firmati

ball animated




Firefox: Riprenditi il web






A proposito dei giornalisti...

Non dico affatto che lei menta, dico che lei non sarebbe nel posto che occupa se non scrivesse quello che scrive.






La legge determina le condizioni in cui si esercita la libertà garantita alla donna di ricorrere all'interruzione volontaria della gravidanza.

Nuovo articolo della costituzione francese: libertà garantita






L'intervento sull'aborto della Onorevole Gilda Sportiello in merito agli antiabortisti nei Consultori, in cui racconta la sua storia: il personale è politico

Intervento della Onorevole del M5S Sportiello Gilda alla Camera dei Deputati
kensan logo Licenza Creative Commons 3.0
I miei testi sono sotto la Licenza "Creative Commons 3.0 Italia": se sei interessato a pubblicare i miei articoli leggi le note aggiuntive (Licenza di kensan.it) dove troverai anche le attribuzioni dei diritti per tutte le immagini pubblicate.
Questo sito memorizza sul tuo pc uno o più cookie di tipo tecnico, leggi l'informativa estesa.
Kensan site

e-mail
e-mail cifrata