Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 20 su 20

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2016
    Messaggi
    89
    codice:
    publicstaticboolConfrontoImmagini(Bitmap imm1,Bitmap imm2) 
            {
    /*
    imm1 è l'immagine normale
    imm2 è l'immagine ritagliata
    */
                int w1 = imm1.Width, h1 = imm1.Height; // ottengo la larghezza dell'immagine sulla variabile w1, ottengo l'altezza dell'immagine su h1
                int w2 = imm2.Width, h2 = imm2.Height; // ottengo la larghezza dell'immagine sulla variabile w2, ottengo l'altezza dell'immagine su h2
    
    
                bool a =false;
                
                for(int wImm =0; wImm != w1; wImm++) // faccio un ciclo per controllare tutti i pixel in larghezza dell'immagine img1
                {
                    for(int hImm =0; hImm != h1; hImm++) // faccio un ciclo per controllare tutti i pixel in altezza dell'immagine img1
    {
                        if((w1 - wImm)- w2 >=0&&(h1 - hImm)- h2 >=0)  // se la grandezza in pixel dell'immagine img1 non controllata è almeno grande come l'immagine img2
                        {
                            if(imm1.GetPixel(wImm, hImm)== imm2.GetPixel(0,0)) // se il pixel di img1 nelle coordinate wImm hImm è uguale al primo pixel di img2
    for(int wImm2 =0; wImm2 != w2; wImm2++) // faccio due cicli per controllare se i pixel successivi sono uguali ad img2
                                {
                                    for(int hImm2 =0; hImm2 != h2; hImm2++)
                                    {
                                        if(imm1.GetPixel(wImm + wImm2, hImm + hImm2)== imm2.GetPixel(wImm2, hImm2)) a =true;
                                        else{ a =false;break;}
                                    }
                                    if(!a)break;
                                }
                        }
                        //else { wImm = w1; hImm = h1; }
                        if(a)break;
                    }
                    if(a)break;
                }
                return a;
            }
    se la fuzione restituisce true allora l'immagine è una parte dell'altra immagine, altrimenti no
    Ultima modifica di Mood98; 07-10-2017 a 12:28

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    E' possibile scaricare le due immagini?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3

  4. #4

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2016
    Messaggi
    89
    Risolto grazie mille
    Ultima modifica di Mood98; 10-10-2017 a 18:18

  6. #6
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,995
    hai adattato il tuo codice o hai preso pari pari quello del link ?

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2016
    Messaggi
    89
    Ho tenuto la mia funzione come sta, ho semplicemente convertito l'immagine da .jpg a .bmp
    Ora tutto funziona perfettamente

  8. #8
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,995
    a me la tua non funziona, quella del link funziona non con tolleranza zero.

  9. #9
    Se sono JPG non puoi usare un approccio di questo genere, dato che la compressione non è lossless, e quindi non è detto che ritrovi esattamente gli stessi colori.
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,995
    Giusto Mytaly, io utilizzavo 2 bmp, ma ricavate da jpg, partendo dall'inizio da bmp il codice di Mood98 funziona anche a me

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.