Credo che se l'immagine č in scala di grigi ogni byte rapresenti da solo giā la tonalitā. quindi basta estrarre un byte alla volta e convertirlo in intero. Cmq prova a domandare.
Se intendi crearti un matricione da cui estrarre le sotto matrici, dato l'elemento ij-simo dovrai spostarti in alto e a sx della metā della dimensione della sottomatrice che vuoi riempire e poi leggere i pixel riga per riga. Non credo sia difficile. devi fare delle prove. Per i controlli io mi creerei un file tipo row che conta da 1 a n e lo userei come file di test per vedere se le sotto matrici sono giuste. Stamperei a video una sottomatrice quasiasi e vedrei se č giusta.
Considera anche il problema ai bordi dell'immagine (dove ti mancheranno i pixel con cui riempire parte delle sottomatrici).
Per valutare la dimensione della matrice dovresti fare delle prove non saprei io partirei con matrici 5x5 o 7x7 (3x3 mi pare un po' piccola)
Ti dico come farei io. Tieni presente che non č detto che sia il metodo corretto. A grandi linee proverei a fare cosė. Parto dal primo pixel fino all'utimo ed estraggo i pixel limitrofi in forma di matrice. Calcolo la statistica delle matrici e mi creo un file immagine che ha al posto dei pixel diciamo i valori medi. Al contempo creo un ulteriore file in cui al posto dei pixel avrō degli 0 e degli 1. Gli 0 indicheranno i pixel buoni e gli 1 i pixel da controllare. Definisco una soglia per determinare chi sono i pixel buoni e quelli cattivi. Successivamente lavorerei su questi ultimi due file e leggendoli contemporaneamente appena trovo una presunta discontinuitā andrei ad analizzare i valori medi limitrofi: questo controllo potresti farlo analizzando una per volta le quattro direzioni, cioč estrai i 10 valori medi precedenti e provi a calcolare il valor medio (quindi un valor medio dei valori medi) e ripeti il procedimento per gli altri tre lati. Ogni volta confrontando quel valore calcolato con il valore medio che devi giudicare. quando si č determinato se il pixel č buono o cattivo modifichi il file con gli 1 e 0 a seconda della scelta (o ne crei uno nuovo che č pių comodo) in cui riscrivi gli 0 e 1 corretti.
A farlo bene poi potresti calcolarti la pecentuale di errore che hai ottenuto sull'intera immagine in modo da controllare che se č troppo grande ovviamente i valori di soglia che hai usato non sono buoni e a quel punto diminuisci/modifichi le soglie e rifai tutto fino a quando non raggiungi un livello di errore compessivo accettabile.
Successivamente opterei per andare dal prof e farmi pagare cmq![]()

. A grandi linee proverei a fare cosė. Parto dal primo pixel fino all'utimo ed estraggo i pixel limitrofi in forma di matrice. Calcolo la statistica delle matrici e mi creo un file immagine che ha al posto dei pixel diciamo i valori medi. Al contempo creo un ulteriore file in cui al posto dei pixel avrō degli 0 e degli 1. Gli 0 indicheranno i pixel buoni e gli 1 i pixel da controllare. Definisco una soglia per determinare chi sono i pixel buoni e quelli cattivi. Successivamente lavorerei su questi ultimi due file e leggendoli contemporaneamente appena trovo una presunta discontinuitā andrei ad analizzare i valori medi limitrofi: questo controllo potresti farlo analizzando una per volta le quattro direzioni, cioč estrai i 10 valori medi precedenti e provi a calcolare il valor medio (quindi un valor medio dei valori medi) e ripeti il procedimento per gli altri tre lati. Ogni volta confrontando quel valore calcolato con il valore medio che devi giudicare. quando si č determinato se il pixel č buono o cattivo modifichi il file con gli 1 e 0 a seconda della scelta (o ne crei uno nuovo che č pių comodo) in cui riscrivi gli 0 e 1 corretti.
Rispondi quotando