Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione
Abbiamo provato per diverse settimane il nuovo Magic V5 di HONOR, uno smartphone pieghevole che ci ha davvero stupito. Il device è il più sottile (solo 4.1mm) ma non gli manca praticamente nulla. Potenza garantita dallo Snapdragon 8 Elite, fotocamere di ottima qualità e batteria in silicio-carbonio che garantisce un'ottima autonomia. E il Prezzo? Vi diciamo tutto nella nostra recensione completa.
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro)
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro)
Google Pixel 10 Pro XL è il top di gamma della serie Pixel, presentando un ampio display Super Actua da 6.8 pollici insieme alle novità della serie, fra cui la ricarica wireless magnetica Pixelsnap e le nuove funzionalità AI avanzate. Il comparto fotografico include un sistema a tripla fotocamera con zoom Pro Res fino a 100x, mentre il processore Tensor G5 con 16GB di RAM garantisce prestazioni percepite molto elevate su Android.
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico
Forte della piattaforma Qualcomm Snapdragon X, il notebook Lenovo IdeaPad Slim 3 riesce a coniugare caratteristiche tecniche interessanti ad uno chassis robusto, con autonomia di funzionamento a batteria che va ben oltre la tipica giornata di lavoro. Un notebook dal costo accessibile pensato per l'utilizzo domestico o in ufficio, soprattutto con applicazioni native per architettura ARM
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-10-2012, 18:40   #1
peppedilillo
Junior Member
 
Iscritto dal: May 2012
Messaggi: 8
trattamento delle immagini, domanda naive

ciao a tutti ragazzi!

ho a che fare con alcune foto sciupate da rumore. Qualcosa di analogo a :


.



Una soluzione banale al rumore è quella di una media del colore pixel per pixel su di una cornice dello stesso.
Conosco benino il C e il fortran, un po' meno il python, che ho usato precedentemente per applicazioni scientifiche. Un'idea di questo tipo è molto vicina al mio 'comprendere' la programmazione.
Per intenderci, se invece che una fotografia NxM pixel avessi una matrice NxM e dovessi mediare ogni valore con gli adiacenti saprei immediatamente dove mettere mano.

Adesso la domanda: qualcuno sa darmi un'idea del come e se sia possibile trattare problemi di questo tipo (che so essere tra l'altro molto comuni nel trattamento di immagini astronomiche) con i mezzi a mia disposizione?
La questione mi incuriosisce ed in un futuro qualche conoscenza a riguardo potrebbe tornare utile, sarei disposto anche a studiare qualche dispensa di interesse.


a presto, ciao!

Ultima modifica di peppedilillo : 12-10-2012 alle 18:44.
peppedilillo è offline   Rispondi citando il messaggio o parte di esso
Old 12-10-2012, 19:30   #2
DooM1
Senior Member
 
L'Avatar di DooM1
 
Iscritto dal: Jul 2002
Città: Cagliari
Messaggi: 13495
Non ho mai programmato filtri per immagini, ma correggere del rumore da una sola foto è teoricamente impossibile.
Secondo me è più da sezione grafica... ma magari mi sbaglio.
L'unico modo per attenuare realmente il rumore, è avere più foto dello stesso identico soggetto, siccome il rumore non è fisso mentre il soggetto si (ovvio se parliamo di una foto mossa tipo un albero con vento, o evento sportivo la cosa risulta molto difficile), con una serie di calcoli si può sottrarre il rumore dall'immagine pulita.

Ma togliere il rumore da una foto, è praticamente impossibile, si può attenuare un po' con un filtro particolare di sfocatura magari con un algoritmo particolare di riconoscimento del rumore (con il pericolo che il riconoscimento fallisca e rimuova parti dell'immagine reale), ma perdi dettagli, non è una rimozione è un "cammuffamento".

Di più non so andare, ma questi sono i principi teorici che conosco; gli algoritmi non saprei farli
__________________
MoBo:Asus Prime x470-Pro*CPU:AMD Ryzen 5700x*RAM:Kingston FURY KF432C16RB2K2/16*Sk.Vid:Asus DUAL-RX580-O8G*Ali:Enermax Revolution87+ 550W*Storage:Samsung 970 Evo Plus 1TB + Samsung 860 Evo 1TB*Mons:Dell 2209WAf + LG 24EA53VQ
DooM1 è offline   Rispondi citando il messaggio o parte di esso
Old 12-10-2012, 20:06   #3
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Per il miglioramento dell'immagine in questione hai diverse opzioni. Probabilmente ti conviene provarne piu' di una, per vedere la differenza nei risultati.
Il mio consiglio e':
- filtro lineare (i.e. convoluzione)
- filtro non lineare (i.e. mediana)
- trasformata bidimensionale di Fourier;

Riguardo la convoluzione: si tratta di sostituire un pixel (i.e. un valore della matrice rappresentante l'immagine) con un valore calcolato mediante l'applicazione di una matrice, per esempio 3X3 intorno al punto in questione.
Per esempio, puoi applicare la matrice
1/9 1/9 1/9
1/9 1/9 1/9
1/9 1/9 1/9
ad ogni punto dell'immagine.
Al punto (x,y) verra' sostituito il valore
1/9f(x-1,y-1) + 1/9(x,y-1) + .....
(Beh, per questa particolare matrice il risultato equivale alla sostituzione del valore di intensita' del punto con la media dei suoi vicini, incluso se stesso).
Puoi anche incrementare la matrice a 5x5, 7x7,...
Il risultato e' "cosmetico": l'immagine migliora parecchio ma all'aumentare della matrice cresce la sensazione di sfocatura.

- filtro non lineare (i.e. mediana).
Costruisci una nuova immagine mettendo alle coordinate (x,y) il punto ottenuto come mediana dei 9 punti (i.e. il punto (x,y) e i suoi 8 vicini).
In pratica, prendi i 9 punti, li ordini, prendi la mediana e la metti nella nuova immagine alle coordinate (x,y).
Il risultato e' che i vari punti che "sparano" vengono cancellati.

- Trasformata di fourier bidimensionale.
applichi la trasformata e otterrai due "immagini": quella delle fasi e quello dei moduli (spettro).
Plottando lo spettro otterrai un'immagine simmetrica rispetto al centro. Ovviamente questa immagine rappresenta le frequenze presenti nell'immagini. Quelle basse ti danno le forme delle immagini e si concentrano al centro, quelle alte ti danno i dettagli e vanno verso la periferia.
Il rumore che vedi sull'immagine e' ad alta frequenza, quindi ti bastera' disegnare un contorno nero per filtrarlo. Ovviamente piu' filtri, piu' l'immagine inizialmente perdera' il rumore ma perdera' progressivamente anche i dettagli. Questa tecnica e' molto usata nella compressione delle immagini.

Ah! Dimenticavo. Le immagini sono quasi sempre in formato RGB che mal si presta a queste techiche (applicarle ad un singolo canale produce risultati disastrosi). Conviene applicare una conversione verso un altro formato, per esempio HSL. Le conversioni sono formulette standard che si trovano in rete.

Parere personale: usa OpenCv. Fa gia' tutto ed in maniera molto ottimizzata




Quote:
Originariamente inviato da peppedilillo Guarda i messaggi
ciao a tutti ragazzi!

ho a che fare con alcune foto sciupate da rumore. Qualcosa di analogo a :


.



Una soluzione banale al rumore è quella di una media del colore pixel per pixel su di una cornice dello stesso.
Conosco benino il C e il fortran, un po' meno il python, che ho usato precedentemente per applicazioni scientifiche. Un'idea di questo tipo è molto vicina al mio 'comprendere' la programmazione.
Per intenderci, se invece che una fotografia NxM pixel avessi una matrice NxM e dovessi mediare ogni valore con gli adiacenti saprei immediatamente dove mettere mano.

Adesso la domanda: qualcuno sa darmi un'idea del come e se sia possibile trattare problemi di questo tipo (che so essere tra l'altro molto comuni nel trattamento di immagini astronomiche) con i mezzi a mia disposizione?
La questione mi incuriosisce ed in un futuro qualche conoscenza a riguardo potrebbe tornare utile, sarei disposto anche a studiare qualche dispensa di interesse.


a presto, ciao!
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 12-10-2012, 20:28   #4
peppedilillo
Junior Member
 
Iscritto dal: May 2012
Messaggi: 8
Grazie mille ragazzi!


@sottovento: grazie ancora per le belle soluzioni ma avrei bisogno di qualche informazione/riferimento preliminare .. Per intenderci:
Come 'aprire' un file immagine in (per esempio) C?
Come trattare con i pixel-valori?
peppedilillo è offline   Rispondi citando il messaggio o parte di esso
Old 12-10-2012, 20:36   #5
Cait Sith
Senior Member
 
L'Avatar di Cait Sith
 
Iscritto dal: Apr 2005
Messaggi: 309
il rumore presente nell'immagine mi sembra di tipo sale e pepe e di solito per rimuovere rumori di questo tipo si usano filtri mediani
dato che il filtro mediano 2D ha il problema che maltratta i corner, di solito si applicano filtri 1D per righe e poi per colonne (o viceversa, che dà un risultato diverso numericamente, ma simile per l'occhio umano)
programmare una cosa del genere, dato che devi filtrare per righe e per colonne, è abbastanza semplice anche in un linguaggio di basso livello tipo C (oppure se non vuoi perdere troppo tempo, matlab si presta molto)
devi avere solo:
- una routine per il sorting (usa una funzione quicksort che trovi in rete)
- una routine per il calcolo della mediana (che chiama al suo interno il quicksort)
i bordi sono un problema, perchè quando arrivi vicino al bordo dell'immagine o accorci la lunghezza del filtro (e i bordi rimangono meno filtrati) oppure prolungi i valori dei bordi anche oltre (però se l'ultimo campione è sbagliato il bordo viene filtrato male)
non mi dilungo oltre, per approfondire cerca rumore sale e pepe (salt and pepper noise, in inglese) e filtro mediano (median filter) e troverai un sacco di informazioni a riguardo

comunque anche il filtro mediano, per immagini così corrotte, non fa i miracoli
Cait Sith è offline   Rispondi citando il messaggio o parte di esso
Old 12-10-2012, 21:14   #6
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da peppedilillo Guarda i messaggi
Grazie mille ragazzi!


@sottovento: grazie ancora per le belle soluzioni ma avrei bisogno di qualche informazione/riferimento preliminare .. Per intenderci:
Come 'aprire' un file immagine in (per esempio) C?
Come trattare con i pixel-valori?
Ti conviene affidarti a delle librerie scaricabili gratuitamente da internet quali, per esempio, OpenCv, che oltretutto e' multipiattaforma.

Nella libreria standard di Java hai gia' i metodi che ti servono, sono in ImageIO.
Una volta caricata l'immagine, hai la possibilita' di vederla come matrice, su cui applicare le operazioni in questione
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 12-10-2012, 21:37   #7
peppedilillo
Junior Member
 
Iscritto dal: May 2012
Messaggi: 8
Grazie vi farò sapere i risultati!
Peppe
peppedilillo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro) Recensione Google Pixel 10 Pro XL: uno zoom 100x...
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico Lenovo IdeaPad Slim 3: un notebook Snapdragon X ...
Recensione OnePlus Watch 3 43mm: lo smartwatch che mancava per i polsi più piccoli Recensione OnePlus Watch 3 43mm: lo smartwatch c...
BOOX Note Air4 C è uno spettacolo: il tablet E Ink con Android per lettura e scrittura BOOX Note Air4 C è uno spettacolo: il tab...
3 minuti: è il tempo per vedere l...
Gli Amazfit sono ora gli smartwatch più ...
Rowenta alza la posta: scopa elettrica s...
6 robot per le pulizie completi in offer...
Friggitrice ad aria Cecofry Full InoxBla...
iPhone 16 Pro Max a 10€ in più del minim...
Una chiavetta USB, ma SanDisk Ultra Slid...
La bolla dell'AI: perché l'econom...
Lo smartphone dovrebbe essere usato solo...
SpaceX: i video e le foto dello spettaco...
Anche a Pescara si passa ai fatti: e-bik...
La One UI 8 è pronta: Samsung con...
Xiaomi annuncia l'arrivo in Italia dei R...
La Cina stupisce ancora: test per la tur...
L'iconico iMac G3 diventerà un set LEGO?...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:07.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v