Image Processing

di il
3 risposte

Image Processing

Buonasera a tutti.
Spero di spiegare il mio problema in modo chiaro. Come vedete dall'immagine che ho postato (CIAO.jpg), si vede una superficie illuminata su sfondo nero e una griglia di quadrati blu. La mia condizione iniziale prevede solo l'immagine senza griglia. In pratica quello che vorrei fare è creare l'immagine della griglia da sovrapporre con quella della superficie, ma, come vedete, ogni colonna ha un'altezza diversa. Per quanto riguarda le posizioni dei pixel dove si concludono le colonne diciamo che le conosco dal momento che binarizzando l'immagine sono andato a vedere dove l'immagine assumeva valore unitario. Ora i miei problemi consistono in come utilizzare questa informazione, come creare la griglia e come sovrapporla. Per capire andrebbe bene anche crare una griglia completa come punto di partenza.

CIAO.jpg
CIAO.jpg

Spero di essermi spiegata bene. Ogni consiglio e spunto di riflessione è ben accetto
Grazie a tutti di cuore

3 Risposte

  • Re: Image Processing

    Quello che chiedi viene descritto nei primi capitoli di qualunque libro di elaborazioni di immagini (Image Processing, appunto), ed e' disponibile in qualunque libreria che permette la manipolazione di immagini (ImageMagick ad esempio).
    E' una banale operazione binaria tra TRE immagini (tu ne hai SOLO 2, ti manca la TERZA):

    1) immagine senza griglia (I)
    2) visto che l'immagine senza griglia NON E' rettangolare, ti serve una MASCHERA (RETTANGOLARE) con i bit a 0/1 per dire QUALI pixel dell'immagine RETTANGOLARE fanno parte dell'IMMAGINE EFFETTIVA (M)
    3) un'immagine con la griglia - RETTANGOLARE (G)

    L'operazione da fare e' (I AND M) OR (G AND (NOT M))

    banale


    Poi c'e' il piccolo problema che le immagini non hanno la stessa dimensione.
    Banale anche questo: si fa in modo che TUTTE abbiano la stessa dimensione.

    Nota: questo NON VUOL DIRE che devi NECCESARIAMENTE creare nuove immagini con la stessa dimensione . Ma qui' si va sul complicato
  • Re: Image Processing

    Ciao migliorabile, grazie per la risposta.
    Da quanto ho capito devo convertire tutte le immagini in variabili logiche, ma non ho ben capito cosa intendi per l'immagine M.
    Inoltre ho creatol'immagine (per ora con ilclassico formato 1024x1280) di una griglia con il seguente codice ma sembra che non la visualizzi correttamente.
    
    
    r = 1024
    c = 1280
    
    Grid = zeros(r,c);
    
    for j=1:c/64
        
        for i=1:r
            
            Grid(i,64*j)=1;
            
        end
        
    end
    
    
    for i=1:r/64
        
        for j=1:c
            
            Grid(i*64,j)=1;
            
        end
        
    end
    
    

    Grazie ancora per l'aiuto
  • Re: Image Processing

    Trovata la soluzione

    Im = imread('immagine.estensione'); 
    [r c] = size(Im);
    
    
    figure,
    imshow(Im),
    hold on
    
    
    for k=1:32:r
        
        x = [1 c];
        y = [k k];
        plot(x,y,'Color','r','LineStyle','-')
        
    end
    
    
    for k=1:32:c
        
        x = [k k];
        y = [1 r];
        plot(x,y,'Color','r','LineStyle','-')
          
    end
    
    
    x = [1 c];
    y = [r r];
    plot(x,y,'Color','r','LineStyle','-')
    
    x = [c c];
    y = [1 r];
    plot(x,y,'Color','r','LineStyle','-')
    
    
    hold off
Devi accedere o registrarti per scrivere nel forum
3 risposte