Domanda

Sto cercando di acquisire un'immagine su un telefono Nokia di fascia alta (N95). La fotocamera interna del telefono è molto buona (4 megapixel) ma in j2me mi sembra di essere in grado di ottenere un massimo di immagini 1360x1020. Ho tratto gran parte da questo esempio http://developers.sun.com/mobility/midp / articoli / foto /

Quello che ho fatto è stato iniziare con 640x480 e aumentare la larghezza e l'altezza di 80 e 60, rispettivamente fino a quando non ha funzionato. La riga di codice è:

jpg = mVideoControl.getSnapshot (" encoding = jpeg & amp; quality = 100 & amp; width = " + width + " & amp; height = " + height);

Quindi i due problemi sono:  1. Il telefono genera un'eccezione quando si ottiene un'immagine più grande di 1360x1020.  2. Le immagini a risoluzione più elevata sembrano essere solo versioni levigate di quelle più piccole. Per esempio. Quando scatto un'immagine 640x480 e la ingrandisco in Photoshop, non riesco a distinguere tra questa e una presumibilmente 1360x1020.

È una limitazione di j2me sul telefono? In tal caso, qualcuno conosce un modo per ottenere una risoluzione più elevata all'interno di un'applicazione j2me e / o come accedere alla videocamera nativa da un'altra applicazione?

È stato utile?

Soluzione

Questa sul forum Nokia può aiutarti.

Dice che " La dimensione massima dell'immagine che può essere catturata dipende dal formato immagine selezionato, dalle opzioni di codifica e dalla memoria heap disponibile disponibile. "

e

" Si consiglia quindi vivamente che almeno le immagini più grandi (più grandi di 1mpix) vengano catturate come immagini JPEG e in una dimensione immagine comune (ad esempio 1600x1200 per 2mpix e così via). Le dimensioni delle immagini comuni supportate dipendono dalla versione del prodotto e della piattaforma. & Quot;

Quindi ti consiglio di provare 1. con 1600x1200, 1024x768 e qualsiasi risoluzione d'immagine menzionata nella guida N95 2. anche con BMP e PNG.

In base alle mie precedenti esperienze (che potrebbero essere obsolete), le implementazioni di j2me sono piene di bug, quindi potrebbe non esserci una soluzione funzionante al tuo problema.

Altri suggerimenti

La risoluzione della fotocamera è nativa: 2582 x 1944. Prova a catturare lì per vedere come va.

Questo posto: http://developers.sun.com/mobility/midp/articles/ immagine / index.html

Menziona l'uso di:

byte[] raw = mVideoControl.getSnapshot(null);
Image image = Image.createImage(raw, 0, raw.length);

L'uso di raw sembra interessante, per ottenere la risoluzione nativa.

La "qualità" di un JPEG (come interpretato dal codice) non ha nulla a che fare con la risoluzione. Piuttosto ha a che fare con la compressione dell'immagine. Un'immagine 640x480 a 100 qualità sarà notevolmente migliore di un'immagine 640x480 a 50, ma utilizzerà più spazio di archiviazione.

Prova invece:

jpg = mVideoControl.getSnapshot("encoding=jpeg&quality=100&width=2048&height=1536");
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top