Qualcuno l'ha trasferito su android
? Più il framework di gli shader. Roba come portare i dati della fotocamera in openGL
. Ho lavorato con esso su iOS
ed è molto veloce. Ogni aiuto è molto apprezzato.GPGuida di acquisizione per android
risposta
GPUImage per Android Idea da: quadro iOS GPUImage
obiettivo è di avere qualcosa di simile a GPUImage possibile. Vertex e framment shaders sono esattamente gli stessi. In questo modo è più semplice portare i filtri da GPUImage a iOS.
il link è qui sotto:
Sembra che la libreria Android funzioni solo sulle immagini (nessun video)? –
sì, solo immagini – vanloi999
C'è qualche altra libreria in grado di fare sia immagini che video? –
è possibile utilizzare Gpuimage per l'anteprima video e scattare foto anche, basta compilare il file JNI in libreria gpuimage con NDK e mettere il metodo per YuvtoRgb convertire in GPUImageNativeLibrary. classe java in GPUImageLibrary per Android.
public static void YUVtoRBGA(byte[] yuv, int width, int height, int[] rgb) {
final int frameSize = width * height;
int r, g, b, y1192, y, i, uvp, u, v;
for (int j = 0, yp = 0; j < height; j++) {
uvp = frameSize + (j >> 1) * width;
u = 0;
v = 0;
for (i = 0; i < width; i++, yp++) {
y = (0xff & ((int) yuv[yp])) - 16;
if (y < 0)
y = 0;
if ((i & 1) == 0) {
v = (0xff & yuv[uvp++]) - 128;
u = (0xff & yuv[uvp++]) - 128;
}
y1192 = 1192 * y;
r = (y1192 + 1634 * v);
g = (y1192 - 833 * v - 400 * u);
b = (y1192 + 2066 * u);
// Java's functions are faster then 'IFs'
r = Math.max(0, Math.min(r, 262143));
g = Math.max(0, Math.min(g, 262143));
b = Math.max(0, Math.min(b, 262143));
rgb[yp] = 0xff000000 | ((r << 6) & 0xff0000)
| ((g >> 2) & 0xff00) | ((b >> 10) & 0xff);
// rgba, divide 2^10 (>> 10)
/*
* rgb[yp] = 0xff000000 |((r << 14) & 0xff000000) | ((g << 6) &
* 0xff0000) | ((b >> 2) | 0xff00);
*/
}
}
}
sostituire il metodo in public static Native YUVtoRBGA di classe GPUImageNativeLibrary.java con questo, e avete fatto.
Funziona per applicare i filtri a Video e salvarli? –
sì, l'ho fatto, basta cambiare quanto segue nella classe GPUImageNativeLibrary.java, ma rimarrà in ritardo per marshmallow. se puoi approfondire qualcos'altro, per favore fammi sapere. –
- 1. Clic di acquisizione di Webview Android
- 2. Rilevamento silenzio acquisizione audio Android
- 3. App campione di acquisizione video Android
- 4. Acquisizione di 360 panorama in Android
- 5. Android: scrittura e acquisizione dell'oggetto
- 6. Rilascio pulsante di acquisizione in Android
- 7. Acquisizione di disegni di iTunes per un'applicazione
- 8. Toolbox di acquisizione dati per Matlab?
- 9. Android burst di acquisizione camera2 è troppo lento
- 10. Android: acquisizione di una risorsa immagine in Uri: IllegalArgumentException
- 11. OpenCV Android: acquisizione di cornici senza sfondo sullo schermo
- 12. acquisizione di risultati dis.dis
- 13. AVCaptureVideoPreviewLayer: acquisizione di un'istantanea
- 14. Acquisizione di stdout/stderr con NDK
- 15. Data di acquisizione di un'immagine
- 16. Acquisizione di ActivePython con WSH
- 17. Orientamento acquisizione fotocamera su dispositivi Samsung in Android
- 18. Interrupt hardware per acquisizione dati sincrona
- 19. Acquisizione pacchetti 24/7 in Android utilizzando tcpdump
- 20. Pulsante media acquisizione su Android> = 4.0 (funziona su 2.3)
- 21. Acquisizione video su AR (Vuforia) con unità nella piattaforma Android
- 22. Acquisizione dell'istanza di Background Service
- 23. Gruppo di acquisizione regex opzionale?
- 24. Acquisizione elenco OU AD
- 25. SDK di acquisizione video e framework per Windows
- 26. Acquisizione di valori precedenti per il modello in MVC3?
- 27. Acquisizione/accesso all'ambiente Citrix per scopi di controllo qualità
- 28. Acquisizione AV UOSmage
- 29. Software open source di acquisizione di movimento
- 30. Errori di acquisizione dati di modifica
Prima di chiedere, non sto lavorando su una versione Android in qualsiasi momento presto. Tuttavia, qualcuno ha portato le basi su AS3 un paio di mesi fa: https://github.com/inspirit/GPUImage. Gli shader dei frammenti possono essere incontrati per la maggior parte intatti, ma il resto richiederà una completa riscrittura per la fotocamera di Android e il supporto dell'architettura OpenGL ES. Inoltre, dovrà fare i conti con la più ampia varietà di hardware del dispositivo per quella piattaforma, in cui posso fare alcune supposizioni sui dispositivi iOS e sul loro hardware PowerVR. –
Attualmente sto sperimentando una rapida porta C++ di GPUImage che può essere trovata su github qui: https://github.com/Dexterp37/GPUImage. Al momento consente solo di utilizzare il filtro Scala di grigi caricando da un file e il supporto Android (tramite NDK) non è ancora in fase di sviluppo, ma ho intenzione di iniziare a lavorarci il prima possibile. – Dexter
Si consiglia di leggere un po 'in [Renderscript] (http://developer.android.com/guide/topics/renderscript/compute.html) prima di iniziare. Esistono elementi intrinseci per l'elaborazione delle immagini nell'API. – eternalmatt