Newsgroup: it.comp.lang.visual-basic
Titolo: Elaborazione Immagine 256 colori

Qualcuno ha un esempio in VB semplice per aumentare i dettagli di una 
immagine lavorando con i singoli pixel ? (lo so che con i singoli pixel è 
lenta ma va bene cosi tanto è piccola).
In pratica cerco un filtro, non l'aumento del contrasto che l'ho provato e 
non ve bene, che mi marchi le linee presenti nell'immagine, supponiamo di 
aver preso l'immagine dallo scanner che è un disegno fatto con la matita, 
l'ho converto a 256 girigi ed ora vorrei aumentare la definizione di quelle 
linee, farle piu marcate piu nere al suo centro e semmai rimuovendo i 
distrurbi, chiedo troppo ???
Grazie in anticipo.
----------------------------------
FREE Development Components
http://www.prioregroup.com

 Grazie in anticipo.
Ti consiglio di vedere qui:
http://www.vbaccelerator.com/home/VB/Code/vbMedia/Image_Processing/index.asp
e anche qui
http://www.it-lang-vb.net/archivio.asp?subMenu=Tutte&FullText=on&TypeRic=AND&keyword=aree+pixel+picturebox&x=0&y=0
bye
PS
Stai facendo un OCR?
-- 
Gestione Ottica - Gestionale per Ottici e Programmi Gratuiti su:
http://www.nicolaottomano.it
Sinapsi Antispam. Antispam Gratuito.
http://www.sinapsi-antispam.tk
http://www.nicolaottomano.it/sinapsi.htm
Ingrosso Orologi.
http://www.supertop.it
email spamtrap: 
spam...@nicolaottomano.it

 Stai facendo un OCR?
no sto tentando di fare in modo che un disegno in bianco e nero tracciato a 
matita, che poi acquisito da scanner diventa a tonalità di grigi con tratto 
molto soft, diventi come fosse disegnato dal computer stesso, quindi con i 
tratti ben definiti, sicuramente esiste qualcosa del genere visto che molti 
grafici di cartoni usano la tecnica del disegno a mano su carta e poi 
acquisizione su computer senza perdere la marcatura del tratto.

 senza perdere la marcatura del tratto.
Quindi vuoi vettorializzare una immagine raster?
bye


> Quindi vuoi vettorializzare una immagine raster?
(????) non so neanche cosa vuol dire con certezza. :(
grazie comunque per l'interesse.

 Quindi vuoi vettorializzare una immagine raster?
direi di no. deve definire le soglie per cui un grigio e' o bianco o nero,
coem fa il tiff ccitt4, fax per intenderci: bianco o nero, 1 bit/pixel.
se con irfanview o phtoshop prendi un'immagine al tratto e esasperi
luminosita'/contrasto, ottieni qcosa del genere. irfanview in tiff fax
salva, ps no.
ciao, j.

 Grazie in anticipo.
Prego,
Andrea

 Secondo me il problema è a monte, nella scansione fatta 'na schifezza.
puo' essere benissimo, ma prova a scandire un disegno al tratto a matita
leggera :)

 leggera :)
Beh, se è per quello, ho scandito anche riviste degli anni '30(!) con 
delle foto b/n fatte a matita :D e non erano certo messe bene. Però
contrasta di qui, illumina di lì, una curvetta così ed un aggiusto colà, 
sono venute decentemente :D
Il vero problema è che la maggior parte delle persone usa uno scanner
come fosse una fotocopiatrice, ma non lo è. Ah, per la cronaca: anche io
prima di andare a lavorare dove stò adesso facevo così eh! :D
Male che và, si può usare un algoritmo di edge detection.
Ciao,
Andrea

 Male che và, si può usare un algoritmo di edge detection.
e' +- esattamente quello che il thread sta chiedendo :)
tu che sei bravo, fatti sotto. io ne capisco zero :))
ciao, j.

 ciao, j.
Ciao,
Andrea

 Piuttosto vado a ballare nudo con Galeazzi a Domenica IN!
Con Galeazzi vestito, pero`! :-PPP
-- 
ciao, hal

 Con Galeazzi vestito, pero`! :-PPP
Manco io sono uno spettacolo non vestito :D
Andrea

 Piuttosto vado a ballare nudo con Galeazzi a Domenica IN!
nel senso che se uno del ng lo scrive ti vediamo su rai1 ?
promesso ?
:P

 promesso ?
No :-P
Andrea

 salva, ps no.
Secondo me vuole qualcosa di simile alla "unsharp mask"
di photoshop; se conferma che è quello, so come funziona
l'algoritmo.
Bye, G.

 Piuttosto vado a ballare nudo con Galeazzi a Domenica IN!
Io preferirei di gran lunga scrivere l'algoritmo :-)
Bye, G.

 l'algoritmo.
postalo, ci si puo' ragionare.
ciao, j.

 Io preferirei di gran lunga scrivere l'algoritmo :-)
appunto. tarzan scrive, lui jane col canottistone :P
ciao, j.
la ribattezzeranno "domenica trash". ho gia' dei conati :))

 Bye, G.
Andrea

 postalo, ci si puo' ragionare.
Immagina la matrice di pixel: il valore di ogni pixel viene sostituito dal
risultato di un calcolo effettuato sul valore del pixel originale e su quelli
circostanti, in modo da aumentare il microcontrasto. Il concetto di
fondo è questo: se un pixel, per esempio, grigio è circondato da altri
più chiari, diventa più scuro, se è circondato da altri più scuri diventa
più chiaro. Se quelli intorno sono della stessa tinta non ci sarà variazione.
L'esempio è volutamente fatto in grigio, ma il concetto vale anche
per le immagini colore.
A livello logico è abbastanza semplice. L'implementazione può essere
complessa e lentissima, in VB. Bisognerebbe lavorare con le immagini
caricate in memoria in un array di byte; sono passato proprio pochi giorni
fa su un sito dove c'era proprio il codice necessario... o era qui sul NG,
forse :-) ?
Anni fa (e porca miseria se ritrovo il codice) buttai giù un'applicazione
di test con point e pset, giusto per giocare. Funzionava, con un velocità
simile a quella di una tartaruga con una palla al piede :-).
Considerazioni accessorie:
- vanno considerati come casi particolari i bordi dell'immagine, dove
    i pixel ovviamente non sono circondati da tutti i lati da altri pixel.
- si può (in pratica si deve) utilizzare un valore di soglia in modo
    da non influire sul "rumore" nelle zone più ampie di tinta quasi
    uniforme.
- si può (anche qui, si dovrebbe) considerare un raggio e/o un
    "peso" all'intorno del pixel originale.
- bisogna stare attenti a non alterare il colore del pixel, o almeno
    farlo in maniera da non rovinare l'immagine.
Se provi a lavorare su una immagine (per semplificare prova con
una in scala di grigi) con photoshop, e il filtro "maschera di contrasto",
che sfrutta tutt'e tre le possibilità, ingrandisci una zona piccola
e vedrai che il concetto sarà più chiaro :-).
Bye, G.

 quelli
[cut]
Grazie Paperino la tua spiegazione è ottima e semplificata rispetto ad altri 
documenti che ho trovato,preferisco la tua!. ;)
Ora ci studio su e mi ci applico, semmai butto giu un po di codice in VC++ 
invece del VB cosi da sopperire in parte alla lentezza, e a dire il vero io 
lavorerei su una immagini a tonalità di grigi già trasformata in RAW in una 
matrice di byte singola, non bidimensionale, dove ogni byte risulta un 
pixel, quindi già cosi forse si migliorano i tempi.

 coem fa il tiff ccitt4, fax per intenderci: bianco o nero, 1 bit/pixel.
Ciň ho provato, con vari valori, ma mi perdo i tratti morbidi.

 l'algoritmo.
Mi devo installare photoshop e provare il filtro per darti una risposta, io 
uso corel ora vedo se esiste lo stesso anche sul corel.