Autore Topic: Android è astigmatico?  (Letto 1448 volte)

Offline gabric

  • Utente senior
  • ****
  • Post: 613
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Android è astigmatico?
« il: 19 Marzo 2013, 19:21:59 CET »
0
Salve, vi espongo il mio problema.
Ho una bitmap, contenente solo 1 pixel nero.
Creo una nuova bitmap in android, gli faccio importare la mia bitmap di partenza, e poi con un doppio ciclo for (come se fosse una matrice) controllo  di ogni pixel il colore. se è nero (Constant Value: -16777216 (0xff000000) ) deve inserirmi in una matrice di interi, il valore 1, altrimenti 0

Il problema è che android sfuma l'immagine a quanto pare. poichè gli 8 pixel attorno al pixel nero, anche se sono bianchi, me li vede come diversi da bianco (non so che colore di preciso) e il pixel centrale, non me lo vede come nero, ma un altro colore.. quindi a tutti gli effetti è astigmatico... idee su come risolvere? devo contare i pixel neri in un immagine...

posto il codice che uso

Codice (Java): [Seleziona]
public int[][] DisegnaImpronta(Bitmap immagine) {
                       
                int[][] matrice;
                               
                matrice = new int[immagine.getWidth()][immagine.getHeight()];
               
                for(int i = 0; i <immagine.getWidth() ; i++) {
                        for(int j = 0; j < immagine.getHeight() ; j++) {
                               
                                int colore = immagine.getPixel(i, j);
                               
                                /* bianco se il valore è 1, nero se il valore è 0 */
                                if(colore!=-1)System.out.println("coordinate: "+ i + " " + j + " c: " +colore); //qui mi notifica quando il colore è diverso da bianco
                               
                                if(colore==-16777216){
                                        System.out.println("Un punto nero...");
                                        matrice[i][j]=1;
                                       
                                }else{
                                        matrice[i][j]=0;
                                }
                               
                        }
                }
               
               

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:Android è astigmatico?
« Risposta #1 il: 19 Marzo 2013, 19:50:41 CET »
0
Non è colpa di Android. I fabbricanti montano in alcuni dispositivi display con i pixel disposti in modo paricolare chiamato pentile:

http://en.m.wikipedia.org/wiki/PenTile_matrix_family

non puoi pilotare i singoli pixel come se fossero RGB completi.

Inviato dal mio LG-P990 con Tapatalk 2

adb logcat | tee /tmp/logcat | grep TAG

Offline gabric

  • Utente senior
  • ****
  • Post: 613
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Re:Android è astigmatico?
« Risposta #2 il: 19 Marzo 2013, 19:58:35 CET »
0
si ma io non ho toccato il display fin ora...
cioè lavoro solo da codice
c'entra?


nel display solo alla fine mostro l'immagine

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:Android è astigmatico?
« Risposta #3 il: 19 Marzo 2013, 20:15:47 CET »
0
cioè lavoro solo da codice
c'entra?

Non c'entra nulla il codice, leggi con attenzione la documentazione, è un limite hardware.

Inviato dal mio LG-P990 con Tapatalk 2

adb logcat | tee /tmp/logcat | grep TAG

Offline gabric

  • Utente senior
  • ****
  • Post: 613
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Re:Android è astigmatico?
« Risposta #4 il: 19 Marzo 2013, 20:18:51 CET »
0
si ma io hardware non sto toccando niente al momento. Non mostro nulla a schermo

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:Android è astigmatico?
« Risposta #5 il: 19 Marzo 2013, 20:42:56 CET »
0
Se non visualizzi l'immagine controlla la dimensione dell'immagine se è stata ridimensionata rispetto a quella di partenza. Se le dimensioni sono diverse può essere l'algoritmo di ridimensionamento a introdurre pixel intermedi (usa un filtro bilineare).

Inviato dal mio LG-P990 con Tapatalk 2

adb logcat | tee /tmp/logcat | grep TAG

Offline lorux

  • Utente junior
  • **
  • Post: 97
  • Respect: +12
    • Google+
    • lor.catalano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
  • Sistema operativo:
    Windows
Re:Android è astigmatico?
« Risposta #6 il: 19 Marzo 2013, 20:44:22 CET »
0
non penso c'entri lo schermo,si parla di bitmap..cosa c'entra come lo schermo la renderizza?

non ho idea di come funzionino le bitmap in android(non le ho ancora mai usate) e neanche in java,ma puoi postare il codice dove importi il pixel nero nella bitmap più grande?

Offline gabric

  • Utente senior
  • ****
  • Post: 613
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Re:Android è astigmatico?
« Risposta #7 il: 19 Marzo 2013, 21:53:01 CET »
0
io non importo il pixel nero, ma prendo un immagine 35X35 pixel (fatta con paint) tutta bianca con un solo pixel nero
se il pixel è vicino gli angoli, viene riconosciuto come nero, nelle altre posizioni no.
iceweasel non c'entra lo schermo, ne il visualizzare l'immagine, sto lavorando ad un livello più basso

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Android è astigmatico?
« Risposta #8 il: 20 Marzo 2013, 00:37:05 CET »
0
come la tiri su l'immagine iniziale (quella da cui cerchi il pixel)?
con che versione di android?
se ti usa la Config. RGB565 facile che vedi quel problema, dovresti provare con la ARGB_8888 (mi pare sia default con gli emulatori da ICS in su).
il pixel se l'immagine non è compressa rimane nero
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline gabric

  • Utente senior
  • ****
  • Post: 613
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Re:Android è astigmatico?
« Risposta #9 il: 20 Marzo 2013, 08:58:14 CET »
0
questo è il codice che uso per prendere l'immagine.
le opzioni le ho aggiunte dopo per vedere se migliorava la situazione, ma niente.


Codice (Java): [Seleziona]
BitmapFactory.Options prova;
                prova = new Options();
                prova.inPreferQualityOverSpeed=true;
               
                Bitmap immagine = BitmapFactory.decodeResource(getResources(), R.drawable.bitmappa, prova);

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:Android è astigmatico?
« Risposta #10 il: 20 Marzo 2013, 09:16:32 CET »
0
Non è un problema di display, credevo che fosse un problema di visualizzazione.

In quale directory sotto res metti la bitmap ?

Inviato dal mio LG-P990 con Tapatalk 2

adb logcat | tee /tmp/logcat | grep TAG

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Android è astigmatico?
« Risposta #11 il: 20 Marzo 2013, 09:37:12 CET »
0
questo è il codice che uso per prendere l'immagine.
le opzioni le ho aggiunte dopo per vedere se migliorava la situazione, ma niente.


Codice (Java): [Seleziona]
BitmapFactory.Options prova;
                prova = new Options();
                prova.inPreferQualityOverSpeed=true;
               
                Bitmap immagine = BitmapFactory.decodeResource(getResources(), R.drawable.bitmappa, prova);

cercando il metodo per fare quello che avevo in mente, ho trovato un post qui sul nostro forum!!

Problema conversione rgba/rgb - Android Developers Italia
Codice (Java): [Seleziona]
  BitmapFactory.Options opt = new BitmapFactory.Options();
  opt.inDither=false;
  opt.inPreferredConfig = Bitmap.Config.ARGB_8888;
  Bitmap bm = BitmapFactory.decodeResource(getResources(),R.drawable.bitmappa, opt);
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline gabric

  • Utente senior
  • ****
  • Post: 613
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Re:Android è astigmatico?
« Risposta #12 il: 20 Marzo 2013, 14:09:37 CET »
0
uhm niente da fare...
stesso identico risultato...
vi posto l'output
(i punti neri hanno coordinata 14 14 e 35 35)


tutti gli altri sono sbagliati, e come vedete, il colore nero lo ha solo l'angolo in basso, tutti gli altri non li vede neri



03-20 13:06:34.754: I/System.out(389): coordinate: 13 13 c: -3749946
03-20 13:06:34.754: I/System.out(389): coordinate: 13 14 c: -6512996
03-20 13:06:34.784: I/System.out(389): coordinate: 13 15 c: -1053713
03-20 13:06:34.784: I/System.out(389): coordinate: 14 13 c: -7565684
03-20 13:06:34.794: I/System.out(389): coordinate: 14 14 c: -13027271
03-20 13:06:34.794: I/System.out(389): coordinate: 14 15 c: -2697258
03-20 13:06:34.794: I/System.out(389): coordinate: 15 13 c: -1579033
03-20 13:06:34.824: I/System.out(389): coordinate: 15 14 c: -2697258
03-20 13:06:34.824: I/System.out(389): coordinate: 15 15 c: -526345
03-20 13:06:34.974: I/System.out(389): coordinate: 34 34 c: -3749946
03-20 13:06:35.014: I/System.out(389): coordinate: 34 35 c: -7565684
03-20 13:06:35.031: I/System.out(389): coordinate: 35 34 c: -8684165
03-20 13:06:35.034: I/System.out(389): coordinate: 35 35 c: -16777216   <- questo è l'unico punto che vede nero


ho anche letto qui (che penso sia il link dove hai trovato tu la soluzione, ma niente da fare)
Problema conversione rgba/rgb - Android Developers Italia

cmq niente, nemmeno provando le altre opzioni
« Ultima modifica: 20 Marzo 2013, 14:25:14 CET da gabric »

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Android è astigmatico?
« Risposta #13 il: 20 Marzo 2013, 17:26:59 CET »
0
sei sicuro al 100% che il file (PNG SPERO) che hai salvato nella cartella resources abbia tutto a bianco e un pixel a nero?
mi sa strano che con ARGB_8888 non te lo prenda correttamente....
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline gabric

  • Utente senior
  • ****
  • Post: 613
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Re:Android è astigmatico?
« Risposta #14 il: 20 Marzo 2013, 19:16:59 CET »
0
è un file bitmap non png
fatto da me
tutto bianco e con quel pixel nero.
la cosa strana è che vicino gli angli me li vede come neri...